Leetcode - 9. 回文数
给你一个整数
x,如果x是一个回文整数,返回true;否则,返回false。
回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121是回文,而123不是。
示例 1:
输入:x = 121
输出:true
示例 2:
输入:x = -121
输出:false
解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入:x = 10
输出:false
解释:从右向左读, 为 01 。因此它不是一个回文数。
示例 4:
输入:x = -101
输出:false
提示:
-231 <= x <= 231 - 1
进阶:你能不将整数转为字符串来解决这个问题吗?
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/palindrome-number
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
True/False、1/0

true默认是没有定义的,默认的是True,leetcode是自己定义了true?,不是,
改成return True试试,
好家伙,但是True不是==1的吗?测试True==1或者False==0都返回True,
难道,python中,函数返回bool和1/0不一样?
确实不一样,虽然他们的
值一样(通过==)判断,但是他们的id不一样(通过is判断)
所以,bool返回类型,还是得返回True/False,而不是1/0
解1 2021/8/25 O(n)
def isPalindrome(x: int) -> bool:
# 处理掉简单的情况
### 错误 - 1
if x<0: return False
if x in range(0,10): return True
s=str(x)
len=s.__len__()
x=0;y=len-1
while x<y:
if s[x]!=s[y]: return False
x+=1;y-=1
return True
### 错误 - 1
if __name__ == '__main__':
### 错误
# 1, True/False和1/0不一样,bool应该返回True/False,而不是1/0
print(isPalindrome(121))
print(isPalindrome(10))
print(isPalindrome(-101))
print(isPalindrome(-1))
print(isPalindrome(0))
print(isPalindrome(-0))
print(isPalindrome(989989))
print(isPalindrome(9891989))
print(isPalindrome(11111))
print(isPalindrome(22))
print(isPalindrome(00))




浙公网安备 33010602011771号