题目:Determine whether an integer is a palindrome. Do this without extra space.
思路:
一个技巧就是先计算出一共几位数,对应后面几个零;
接下来就是循环,首先除以div,在%10,就是最左边最右边的数字,判断两者是否相等。
不等,直接返回。
代码:
class Solution {
public:
bool isPalindrome(int x) {
if(x<0) return false;
if(x<10) return true;
int div=1;
for(;x/div>=10;div=div*10);//这个分号不能少
while(x!=0){
int left=x/div;
int right=x%10;
if(left!=right) return false;
x=(x%div)/10;
div=div/100;
}
return true;
}
};