Determine whether aninteger is a palindrome. Do this without extra space.
click to show spoilers.
Some hints:
Could negative integers be palindromes? (ie, -1)
If you are thinking of converting theintegertostring, note the restriction ofusing extra space.
You could also try reversing aninteger. 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.
题目解析:
前面已经解决了整形数字的反转,是不是回文数字只需判断将该数字反转并比较反转后的数字是否相等。
class Solution {
public:
boolisPalindrome(int x) {
if (x < 0)
returnfalse;
if(x>=0&&x<=9)
returntrue;
else
{
long result = 0;
long x1=x;
while (x >0)
{
result = result * 10+x%10;
x = x/10;
}
if (result == x1)
returntrue;
elsereturnfalse;
}
}
};