Description
Determine whether an integer is a palindrome. Do this without extra space.
Analysis
题目难度为:Easy
设置一个比较整数,比较数cmp = cmp*10+x%10;也就是说,cmp的最高位是x的最低位,如果x长度为偶数,则cmp==x的时候返回true;如果x长度为奇数,则cmp == x/10的时候返回true
Code(c )
class Solution {
public:
bool isPalindrome(int x) {
if (x < 0) return false;
int tmp = x, com = 0;
while (tmp > 0) {
com = com*10 + tmp%10;
tmp = tmp/10;
}
if (com == x) return true;
else return false;
}
};
class Solution {
public:
bool isPalindrome(int x) {
if(x<0|| (x!=0 &&x%10==0)) return false;
int sum=0;
while(x>sum)
{
sum = sum*10+x%10;
x = x/10;
}
return (x==sum)||(x==sum/10);
}
};