0%

Palindrome Number

leetcode 的第 9 题,考察简单数学。

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

题目的例子里给出了负数都不是回文数,剩下的就只需要考虑正整数了。回文数的特点就是从左向右读和从右向左读是一样的,即数字进行反转了之后会和原来的数相等的数即是回文数。而整数反转,在第 7 题已经做过了。

复杂度分析

  • 时间复杂度:O(n),因为一次遍历。
  • 空间复杂度:O(1),无额外存储
  • 执行结果:
    • 执行用时 : 68 ms, 在所有 Python 提交中击败了 54.33% 的用户
    • 内存消耗 : 11.7 MB, 在所有 Python 提交中击败了 29.21% 的用户

Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution(object):
def isPalindrome(self, x):
"""
:type x: int
:rtype: bool
"""

if x < 0:
return False

test = 0
origin = x
while x > 0:
test = test * 10 + x % 10
x = x / 10

return test == origin