用一个d循环出整数的位数-1,注意不能循环出全部的整数否则会爆int,然后每次比较首位俩位数,
然后再去掉首尾俩位数,循环,具体的看代码:
class Solution {
public:
bool isPalindrome(int x) {
if(x<0)
return false;
int high=1;
int low=1;
while(x/high>=10) high*=10;
while(x>0){
int l=x/high;
int r=x%10;
if(l!=r) return false;
x=x%high/10;
high/=100;
}
return true;
}
};
本文介绍了一种用于判断整数是否为回文数的有效算法。该算法通过循环比较整数的首位数字并逐步去除已比较的数字来实现。特别地,文章提供了详细的C++代码实现,展示了如何避免整数溢出问题。
1739

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



