吴师兄学算法day07 双指针 9. 回文数
题目:9. 回文数
易错点:
- 右指针要记得移动
我的代码:
class Solution:
def isPalindrome(self, x: int) -> bool:
array = list(str(x))
right = len(array) -1
for left in range(len(array)//2):
if array[left] == array[right]:
pass
else:
return False
right -=1
return True
老师的写法:
class Solution:
def isPalindrome(self, x: int) -> bool:
# 转换为字符串数组的形式
xArray = list(str(x))
# 左边索引的位置在 0
left = 0
# 右边索引的位置在 len(xArray) - 1
right = len(xArray) - 1
# 两个索引向内移动
# left 向右移动
# right 向左移动
while left <= right:
# 判断这两个元素值是否相同
if xArray[left] != xArray[right]:
# 如果不同,直接返回 False
return False
# 否则,left 向右移动
left += 1
# right 向左移动
right -= 1
return True
总结:
- QQSS
参考:
https://r07na4yqwor.feishu.cn/docx/FroBdgcXfoxHpLxnjbkcogb9nFb