9-->>python3

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

示例 1:

输入: 121
输出: true

示例 2:

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

示例 3:

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

进阶:

你能不将整数转为字符串来解决这个问题吗?

分析:该题与第7题类似,如果不转为字符串,可以用7中提过的常规解法  除以10取余进行反转

  由该题例可知,如果给出的数为负数,就可以直接返回False

  

扫描二维码关注公众号,回复: 1824234 查看本文章
 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 

猜你喜欢

转载自www.cnblogs.com/baiqingm/p/9251304.html