题意:判断一个整数是否回文,不用辅助空间,考虑负数
思路:负数时不是。在分解数字的同时判断回文,每次求出首尾两个数字
代码:
class Solution {
public:
bool isPalindrome(int x) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if(x < 0) return false;
int div = 1;
while(x/10 >= div){ // get large division
div *= 10;
}
while(x > 9){
int high = x / div; // left digit
int low = x % 10; // right digit
if(high != low){
return false;
}
x = (x % div) / 10; // get number between first and last
div /= 100;
}
return true;
}
};