在刷一道题,数字回文,以之前作过,恰好昨天也作了一个相似的题,数字反转,原理有点像-----9. Palindrome Number

class Solution {
    public boolean isPalindrome(int x) {
        if(x < 0 || (x % 10 == 0 && x != 0)) return false;
        int res = 0;
        while(x > res){
            res = x % 10 + res * 10;
            x /= 10;
        }
        
        return x == res || x == res / 10;
    }
}io

总结:class

1.原本想用if( x != 0 && (x < 11 || x % 10 ==0))这个判断,可是发现当1时,应该返回true,应该0-9都算回文了,因此这个判断行不通。总结

2.当计算一半时,就能够验证是不是回文,好比1331,获得13,跟原数1331前一部分比较是相等的。while

3.最后是位数奇数偶数进行不一样判断,奇数就回文除10return

还行挺简单的,这个本身写出来一部分,看答案写了一部分。

相关文章
相关标签/搜索