解题思路
1、负数带符号一定不是回文。
2、0一定是回文
3、将每个位数倒置后与原来输入的值是否相等,相等的是回文,不等不是
bool isPalindrome (int x){
if(x == 0) return true;
if(x < 0) return false
long t = x, ret = 0;
while(t)
{
ret = ret * 10 + t % 10; // 求余
t = t / 10; // 除号
}
// 如果写 if(ret == x) return true; 会报错,错误是: control end of non-void function 控制达到非void 函数的结尾,就是说你的一些应带有返回值的函数达到结尾后可能并没有任何返回值
return ret == x;
}
解题思路:
1、数字变字符串,对比字符串两头的子数值是否相等来判断回文数
var isPalindrome = function(x) {
if(x >= 0){
var X = x.toString(); // 把数字变成字符串
var len = x.length; // 字符串长度
for(var i = 0; i < (len / 2); i++){
if(X[i] != X[len - i -1])
return false;
}
return true; // 排除上面不满足条件和外面套的 if 排除的负数,剩下的就是回文数, 返回true
}
return false;
}