9. Palindrome Number

Determine whether an integer is a palindrome. Do this without extra space.

虽是一道easy题,却是一道integer操作的题目,generic way 要理解。
compare half of the digits in x, so don't need to deal with overflow.

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

完整的比较:

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

ref:
https://discuss.leetcode.com/topic/8090/9-line-accepted-java-code-without-the-need-of-handling-overflow

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容