回文,要求不能使用extra space
负数不是回文
将数翻转可能会溢出
将数转换为字符串有需要额外的空间
巧妙的解法
<span style="font-family:Microsoft YaHei;font-size:14px;">class Solution {
public:
bool isPalindrome(int x) {
if(x < 0 || (x != 0 && x % 10 == 0)) return false;
int res = 0;
while(x > res){
res = res * 10 + x % 10;
x /= 10;
}
return (x == res) || (x==res/10);
}
};</span>