标签:ali 整数 turn 解决 直接 pre self 倒序 while
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
示例 1:
输入: 121 输出: true
示例 2:
输入: -121 输出: false 解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。
示例 3:
输入: 10 输出: false 解释: 从右向左读, 为 01 。因此它不是一个回文数。
进阶:
你能不将整数转为字符串来解决这个问题吗?
分析:该题与第7题类似,如果不转为字符串,可以用7中提过的常规解法 除以10取余进行反转
由该题例可知,如果给出的数为负数,就可以直接返回False
1 class Solution: 2 def isPalindrome(self, x): 3 """ 4 :type x: int 5 :rtype: bool 6 """ 7 if x<0: 8 return False 9 flag=x 10 ans=0 11 while x>0: 12 ans=ans*10+x%10 13 if x>2**31: 14 return False 15 x//=10 #返回x/10的整数部分(121//10=12) 16 if ans==flag: 17 return True 18 return False
标签:ali 整数 turn 解决 直接 pre self 倒序 while
原文地址:https://www.cnblogs.com/baiqingm/p/9251304.html