leetcode第九题:回文数 python
@leetcode中第九题回文数做的过程中遇到的坑 pythonleetcode第九题:回文数python判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 ...
·
@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
更多推荐



所有评论(0)