Palindrome Number

Palindrome Number

首先第一个想法就是反转整数,实现如下:

class Solution:
def Palindrome(self, x):
      if  x < 0:
             return  False
      y = 0
      temp = x
      while temp:
             y = y * 10 + temp % 10
             temp = temp / 10
      return y == x

第二种解法:
更细致的去分析,显然复数不可能是回数,以0结尾的数也显然不会是回数,在反转一般的时候其实是可以判断出来是不是回数的:

class Solution:
def Palindrome(self, x):
      if  x < 0:
             return  False
      if x == 0:
             return True
      if x % 10 == 0:
             return False

      while x>y:
             y = y * 10 + x % 10
             x = x / 10
      return y == x or y / 10 == x

你可能感兴趣的:(Palindrome Number)