题目:
9. Palindrome Number
Determinewhether an integer is a palindrome. Do this without extra space。
该题比较简单代码如下
//法一
class Solution1 {
public:
bool isPalindrome(int x) {
if (x<0 || (x != 0 && x % 10 == 0)) return false;
int sum = 0, origin = x;
while (x)
{
sum = sum * 10 + x % 10;
x = x / 10;
}
return origin == sum ? 1 : 0;
}
};
//法二
class Solution {
public:
bool isPalindrome(int x) {
if (x<0 || (x != 0 && x % 10 == 0)) return false;
int sum = 0;
while (x>sum)
{
sum = sum * 10 + x % 10;
x = x / 10;
}
return (x == sum) || (x == sum / 10);
}
};
本文介绍了一种高效判断整数是否为回文数的方法,提供了两种C++实现方案,无需额外空间。第一种方法通过反转整个整数来判断;第二种方法只反转一半的整数,进一步优化了算法。
620

被折叠的 条评论
为什么被折叠?



