您好我正在尝试使该程序无需在python 3中使用反向或排序功能。它只是应该检查回文。我遇到的问题是,每次运行它时,我都会得到一个超出范围的索引。有办法解决这个问题吗?
def is_palindrome(word):
if len(word) <= 1:
return True
else:
left = 0
right = len(word) - 1
while left < right:
if word[left] == word[right]:
left += 1
right += 1
else:
return False
return True
is_palindrome("mom")
is_palindrome("root")
is_palindrome("racecar")
答案 0 :(得分:2)
public class Template
{
public string Name { get; set; }
public string RuleName { get; set; }
public Dictionary<string,Zone> Zones { get; set; }
}
应为right += 1
。
答案 1 :(得分:0)
你可以更简洁地写一下。
>>> def is_palin(w):
... return len(w) <= 1 or (w[0] == w[-1] and is_palin(w[1:-1]))
...
>>> is_palin("xax")
True
>>> is_palin("xaax")
True
>>> is_palin("xaab")
False