Leetcode-Easy-9 Palindrome Number(python)

题目
image.png
思路

判断一个给定的数字是否是回文数字。
需要注意的是,不仅奇数会出现回文数字,偶数也可以,2442,2222都是回文数字(将数字倒序排列数值相同)
解决办法:将数字放入一组列表,从首尾两侧逐步匹配,相遇前都能匹配上就是回文数字,未相遇匹配失败则不是。
因为是首尾同步走向中点,所以
时间复杂度:O(2/n) =O(n)

代码实现
    def palindrome(self,num):
        num = list(str(num))
        mid = len(num)//2
        forward = 0
        backward = len(num)-1
        while mid>0:
            if num[forward] == num[backward]:
                mid = mid-1
                forward = forward +1
                backward = backward -1
            else:
                return False
        return True

你可能感兴趣的:(Leetcode-Easy-9 Palindrome Number(python))