擅长:python、mysql、java
<p>如果你想找更简单的方法。。。最简单的方法就是使用切片:</p>
<pre><code>def is_pal(a):
return a == a[::-1]
</code></pre>
<p>这方面有很多变化,主要是从末端开始迭代。你知道吗</p>
<pre><code>def is_pal(a):
return a == ''.join(reversed(a))
def is_pal(a):
forwards,backwards = iter(a), reversed(a)
return all(x==y for x,y in zip(forwards,backwards))
</code></pre>
<p>从技术上讲,如果您是最佳的(处理一些巨大的回文,也许),您不需要迭代整个字符串,只需在中间相遇:</p>
<pre><code>def is_pal(a):
halflen = len(a) // 2
forwards,backwards = iter(a[:halflen]), reversed(a[halflen:])
return all(x==y for x,y in zip(forwards,backwards))
</code></pre>
<p>这就接近你要做的事情了,一个德克从两端弹出。你知道吗</p>