# leetcode 9 Palindrome Number 回文数

Determine whether an integer is a palindrome. Do this without extra space.

click to show spoilers.

Some hints:
Could negative integers be palindromes? (ie, -1)

If you are thinking of converting the integer to string, note the restriction of using extra space.

You could also try reversing an integer. However, if you have solved the problem “Reverse Integer”, you know that the reversed integer might overflow. How would you handle such case?

There is a more generic way of solving this problem.

public boolean isPalindrome1(int x) {
if (x == 0) return true;
// in leetcode, negative numbers and numbers with ending zeros
// are not palindrome
if (x < 0 || x % 10 == 0)
return false;

// reverse half of the number
// the exit condition is y >= x
// so that overflow is avoided.
int y = 0;
while (y < x) {
y = y * 10 + (x % 10);
if (x == y)  // to check numbers with odd digits
return true;
x /= 10;
}
return x == y; // to check numbers with even digits
}


python这个解法应该是前后分别对比：


class Solution:
# @param x, an integer
# @return a boolean
def isPalindrome(self, x):
if x < 0:
return False

ranger = 1
while x / ranger >= 10:
ranger *= 10

while x:
left = x / ranger
right = x % 10
if left != right:
return False

x = (x % ranger) / 10
ranger /= 100

return True



python字符串的解法：

class Solution:
# @param {integer} x
# @return {boolean}
def isPalindrome(self, x):
return str(x)==str(x)[::-1]


|
1月前
|

[Java·算法·简单] LeetCode 9. 回文数 详细解读
[Java·算法·简单] LeetCode 9. 回文数 详细解读
52 0
|
1月前
|
Go
golang力扣leetcode 479.最大回文数乘积
golang力扣leetcode 479.最大回文数乘积
24 0
|
13天前
|

LeetCode 题目 65：有效数字（Valid Number）【python】
LeetCode 题目 65：有效数字（Valid Number）【python】
19 5
|
1月前
leetcode代码记录（回文数
leetcode代码记录（回文数
18 1
|
1月前
|

【LeetCode力扣】单调栈解决Next Greater Number（下一个更大值）问题
【LeetCode力扣】单调栈解决Next Greater Number（下一个更大值）问题
14 0
|
1月前
【力扣】9. 回文数
【力扣】9. 回文数
18 0
|
1月前
|

[Java·算法·简单] LeetCode 9. 回文数 详细解读
[Java·算法·简单] LeetCode 9. 回文数 详细解读
25 0
|
1月前
|

LeetCode题解-回文数-Java

12 0
|
1月前
leetcode-9：回文数
leetcode-9：回文数
24 0
|
7月前
|

Leetcode 313. Super Ugly Number

72 1