领扣简单版--回文数(Palindrome Number)

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

示例 1:

输入: 121
输出: true

示例 2:

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

示例 3:

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

进阶:

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

Python3:

class Solution:
    def isPalindrome(self, x):
        """
        :type x: int
        :rtype: bool
        """
        if x < 0 or (x % 10 == 0 and x != 0):
            return False
        elif x == 0:
            return True
        else:
            leaf = x
            right = 0
            while leaf > right:
                mod = leaf % 10
                leaf = leaf//10
                right = right*10 + mod
                if leaf == right or leaf == right//10:
                    return True
                
            return False
solution = Solution()
result = solution.isPalindrome(1221)
print(result)

  

posted @ 2018-09-05 10:32  看不清的自己  阅读(363)  评论(0)    收藏  举报