Python数据结构与算法_回文数(03)

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

示例 1:

输入: 121
输出: true


示例 2:

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


示例 3:

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

 

 1 class Solution:
 2     def isPalindrome(self, x: int) -> bool:
 3         if x == 0:
 4             return True
 5         if x < 0 or x % 10 == 0:
 6             return False
 7         new_x = 0
 8         while True:
 9             n = x % 10
10             new_x = new_x * 10 + n
11             x //= 10
12             if new_x < x:
13                 continue
14             if new_x == x:
15                 return True
16             if new_x > x:
17                 if new_x // 10 == x:
18                     return True
19                 else:
20                     return False

 

posted @ 2020-10-12 00:25  止一  阅读(217)  评论(0编辑  收藏  举报