Determine whether an integer is a palindrome. Do this without extra space.
回文数:逆序数和正序数不变,对于越界,如果逆序后越界说明不是回文数
题目要求不要开辟额外的空间
如果没有这个要求我立马会用字符串解决,不过这样的要求倒是学到一种新方法,将数字逆过来进行比较,对于越界的问题,将最高位和最低位比较,不相等就返回false
bool isPalindrome(int x) {
int a=0,b=x,flag=0,lastOne;
while(b>0){
a+=b%10;
if(flag==0){
lastOne=a;
flag=1;
}
b=b/10;
if(b>0){
if(b<10){
if(lastOne!=b){
return false;
}
}
a*=10;
}
}
return a==x;
}