Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space.
题目翻译: 给定一个数字,要求判断这个数字是否为回文数字. 比如121就是回文数字,122就不是回文数字.
解题思路: 这道题很明显是一道数学题,计算一个数字是否是回文数字,我们其实就是将这个数字除以10,保留他的余数,下次将余数乘以10,加上这个数字再除以10的余数.
需要注意的点:
- 负数不是回文数字.
- 0是回文数字.
时间复杂度: logN
代码如下:
class Solution {
public:
bool isPalindrome(int x) {
if(x < 0)
return false;
else if(x == 0)
return true;
else
{
int tmp = x;
int y = 0;
while(x != 0)
{
y = y*10 + x%10;
x = x/10;
}
if(y == tmp)
return true;
else
return false;
}
}
};