题目: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; }};