检查字符串是否为回文
Checking if a string is palindrome
所以我正在尝试编写一个函数来检查字符串是否为回文(回文如果它向后拼写相同例如:hannah)
这是我在网上看到的一个解决方案,我不是很明白,任何简单的解释将不胜感激
def isPalindrome(string):
left_pos = 0
right_pos = len(string) - 1
while right_pos >= left_pos:
if not string[left_pos] == string[right_pos]:
return False
left_pos += 1
right_pos -= 1
return True
print(isPalindrome('hannah'))
编辑:抱歉我不够清晰,我主要不理解 while 循环中设置的条件和 if 语句背后的逻辑。
它将最后一个字符与第一个字符进行比较,并按如下方式在字符串内部移动:
hannah
^ ^
检查两个字母是否相等:(return如果不相等则为假)
将索引移动 1
hannah
^ ^
做同样的检查
hannah
^^
此时右索引=左索引
return 在这种情况下是正确的
所以我正在尝试编写一个函数来检查字符串是否为回文(回文如果它向后拼写相同例如:hannah)
这是我在网上看到的一个解决方案,我不是很明白,任何简单的解释将不胜感激
def isPalindrome(string):
left_pos = 0
right_pos = len(string) - 1
while right_pos >= left_pos:
if not string[left_pos] == string[right_pos]:
return False
left_pos += 1
right_pos -= 1
return True
print(isPalindrome('hannah'))
编辑:抱歉我不够清晰,我主要不理解 while 循环中设置的条件和 if 语句背后的逻辑。
它将最后一个字符与第一个字符进行比较,并按如下方式在字符串内部移动:
hannah
^ ^
检查两个字母是否相等:(return如果不相等则为假) 将索引移动 1
hannah
^ ^
做同样的检查
hannah
^^
此时右索引=左索引
return 在这种情况下是正确的