Description
Determine whether an integer is a palindrome. Do this without extra space.
思路
题意:判断输入的整数是否是一个回文数,要求不允许使用额外的空间
题解:可以肯定的是小于0以及尾数为0的整数不是回文数,那么剩下的如何在不使用额外的空间判断是否是回文的呢,此题感觉这个不使用额外的空间是为了限制我们不将他转换为字符串。如果是连一个变量的不能使用的话,具体做法可以查看discuss。
class Solution {
public:
//109
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);
}
};