原题链接:#9 Palindrome Number
要求:
判断一个整数是否是回文数,不要使用额外的存储空间
难度:简单
分析:
题目限制不允许使用额外的存储空间应指不允许使用O(n)的内存空间,O(1)的内存用于存储中间结果是可以接受的。于是考虑将该整型数反转,然后与原数字进行比较。
注:没有看到有关负数是否可以是回文数的明确结论,例如-1,-121等。根据LeetCode Judging结果暂认为所有负数都不是回文数
解决方案:
Java - 388ms
public boolean isPalindrome(int x) {
if(x < 0){
return false;
}
int originNum = x;
int num = x % 10;
x = x / 10;
while(x != 0){
num *= 10;
num += x%10;
x /= 10;
}
return num==originNum;
}
Python - 269ms
def isPalindrome(self, x):
if (x < 0):
return False
originNum = x
num = x % 10
x /= 10;
while (x!=0):
num *= 10
num += x%10
x /= 10
return num==originNum