leetcode第九题:回文数 python

@leetcode中第九题回文数做的过程中遇到的坑 python

leetcode第九题:回文数 python

判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

示例 1:

输入: 121
输出: true

示例 2:

输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:

输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。

刚开始刷leetcode,这道题看似简单,思路也应该很清晰,但是我在做的过程中,用pycharm写出来后运行就是正确的结果,在leetcode上运行,当有负数测试用例时,结果总会出现一个true????这是怎么回事???经过好心人帮助,发现其实这个题最后返回的应该是bool值,所有在返回时候,flag 应该用大写True和False (但是他测试用例上是true和false)

代码如下

def isPalindrome(self, x):
    """
    :type x: int
    :rtype: bool
    """
    a = str(x)
    flag = True
    if len(a) == 1:
        return flag
    else:
        if len(a) > 1:
            i = 0
            j = len(a) - 1
            while i <= (len(a) // 2) + 1:
                while i <= j:
                    if a[i] == a[j]:
                        i += 1
                        j -= 1
                    else:
                        flag = False
                        break
                return flag

你可能感兴趣的:(leetcode第九题:回文数 python)