#回文數
#Method1:將整數轉置和原數比較,一樣就是回文數;負數不是回文數
#這里反轉整數時不需要考慮溢出,但不代表如果是C/C++等語言也不需要考慮
class Solution(object):
??? def isPalindrome(self, x):
??????? """
??????? :type x: int
??????? :rtype: bool
??????? """
??????? if x<0:return False
??????? #負數不是回文數,return False
??????? xre=x
??????? ans=0
??????? while x>0:
??????????? ans=ans*10+x%10
??????????? x=x//10
?????? ?
??????? if ans>21474836547:
??????????? ans=0
??????? print ans ,xre
??????? return ans==xre
#Method2:不反轉整數,將數字逐個分離,比較最前與最后是否一樣
class Solution(object):
??? def isPalindrome(self, x):
??????? """
??????? :type x: int
??????? :rtype: bool
??????? """
??????? if x<0:return False
??????? #負數不是回文數,return False
??????? digits=1
??????? while x/digits>=10:
??????????? digits*=10
?????? ?
??????? while digits>1:
??????????? right=x%10
??????????? left=x/digits
??????????? if left!=right:return False
??????????? x=(x%digits)/10
??????????? digits/=100
?????? ?
??????? return True
轉載于:https://www.cnblogs.com/kwangeline/p/5955514.html