Given an integer
x
, return true
if x
is palindrome integer.An integer is a palindrome when it reads the same backward as forward.
For example,
121
is a palindrome while 123
is not.Example 1:
Input: x = 121
Output: true
Explanation: 121 reads as 121 from left to right and from right to left.
Example 2:
Input: x = -121
Output: false
Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome.
Example 3:
Input: x = 10
Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
Constraints:
-2<sup>31</sup> <= x <= 2<sup>31</sup> - 1
Follow up: Could you solve it without converting the integer to a string?
题目大意:
判断是否回文数字
解题思路:
N/A
解题步骤:
N/A
注意事项:
Python代码:
1 | def isPalindrome(self, x: int) -> bool: |
算法分析:
时间复杂度为O(n)
,空间复杂度O(n)
算法II解题思路:
Follow-up 不能用str,就求它的reversed数
注意事项:
- x是用于计算过程,所以不断变化,最后一行不能用它来与reversed的结果比较
Python代码:
1 | def isPalindrome2(self, x: int) -> bool: |
算法分析:
时间复杂度为O(n)
,空间复杂度O(1)