擅长:python、mysql、java
<p>这里有一个更有效的版本,因为<code>lst[1:]</code>需要线性时间和空间,因此整个过程需要<em>二次</em>时间和空间。这只需要<em>线性</em>时间和空间:</p>
<pre><code>def recursiveLongestString(lst):
if not lst:
return ''
s = lst.pop()
t = recursiveLongestString(lst)
lst.append(s)
return s if len(s) > len(t) else t
</code></pre>