题目:添加链接描述

原先我revx设的是int类型,第一次提交的时候执行出错,显示溢出了,所以我就把revx改成long int 类型
上代码:
class Solution {
public:
bool isPalindrome(int x) {
long int revx=0;
//存x的值
int n=x;
while(x){
revx*=10;
revx+=x%10;
x/=10;
}
//考虑周全啊xd, 那么0是回文数吗
if(n == revx && n >= 0){
return true;
}else{
return false;
}
}
};
通过了,不过我刚刚想到了改进代码,可以把判断负数移到前面,因为负数一定不是回文数
再看看:
class Solution {
public:
bool isPalindrome(int x) {
if(x<0){
return false;
}
long int revx=0;
//存x的值
int n=x;
while(x){
revx*=10;
revx+=x%10;
x/=10;
}
//考虑周全啊xd, 那么0是回文数吗
if(n == revx){
return true;
}else{
return false;
}
}
};
也通过了,好的
继续刷,加油鸭 O(∩_∩)O
博客讲述了在编程中优化回文数判断算法的过程。作者首先遇到int类型导致的溢出问题,然后将变量类型改为longint成功解决。接着,作者意识到负数不可能是回文数,进一步优化代码,提前返回false。优化后的代码简洁且通过了所有测试。

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



