9 Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space.
Some hints:
- Could negative integers be palindromes? (ie, -1)
- If you are thinking of converting the integer to string, note the restriction of using extra space.
- You could also try reversing an integer. However, if you have solved the problem "Reverse Integer", you know that the reversed integer might overflow. How would you handle such case?
- There is a more generic way of solving this problem.
Solution
similar to reverse string
class Solution {
public:
bool isPalindrome(int x) {
if ( x < 0 ) return false;
int y = x, res = 0;
while (y != 0 ) {
res = res*10 + y%10;
y /= 10;
cout << res << endl;
}
return (res == x);
}
};