leetcode9
Palindrome Number
回文数,并且题目要求不能使用额外的空间。
即,不能使用回文串的方法。
虽然这样,这道题依然不是很难,即对每个数字,从个位起不断乘10,最后再拿结果与原数比较。
唯一需要注意的是,在本题中,负数不作为回文数考虑范围之内,但是输入依然可能为负,此时直接返回false即可。
代码:
class Solution {
public:
bool isPalindrome(int x) {
if (x<0)
return false;
long long int sum =0;
long long int origin = x;
while(x)
{
int num = x %10;
sum = sum*10 + num;
x/=10;
}
if(sum == origin)
return true;
else
return false;
}
};
还没有评论,来说两句吧...