吴师兄学算法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

posted @ 2024-01-14 16:53  o蹲蹲o  阅读(39)  评论(0编辑  收藏  举报