判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121 输出: true
示例 2:
输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。
进阶:
你能不将整数转为字符串来解决这个问题吗?
1.数字转化为字符串方法
以下是我的代码,通过了,但是有点不开心,因为题目要求的是true,我以为应该是return true,然后运行错了,return True,我以为运行之后会返回的是True,后来在网上搜索了一下,才知道,return True是返回的true,,不过也算是又知道了一个知识了。
class Solution: def isPalindrome(self, x): """ :type x: int :rtype: bool """ a = str(x) if a == a[::-1]: return True else: return False |
2.不将数字转化成字符串方法
因为s==sum是true,所以不需要再特地添加true了
class Solution: def isPalindrome(self, x): """ :type x: int :rtype: bool """ s=x sum=0 if x < 0: return False else: while x: sum=sum*10+x%10 x=x//10 return s==sum |