美文网首页EASY题
9. Palindrome Number

9. Palindrome Number

作者: DrunkPian0 | 来源:发表于2017-05-01 12:50 被阅读4次

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

相关文章

网友评论

    本文标题:9. Palindrome Number

    本文链接:https://www.haomeiwen.com/subject/jmbftxtx.html