[Leetcode]009. Palindrome Number

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

判断一个数是否是为回数,如123就为false,121为true。

首先要考虑一个边界情况,负数,个位数,还有以10的倍数肯定就是false啦。
基本思路是每次去第一位和最后一位,如果不相同则返回false,否则继续直到位数为0。代码如下:

public class Solution {
    public boolean isPalindrome(int x) {
        if (x<0 || (x!=0 && x%10==0)) return false;

        int div = 1;  
        while(div<=x/10)  
            div *= 10;  
        while(x>0)  
        {  
            if(x/div!=x%10)  
                return false;  
            x = (x%div)/10;  
            div /= 100;  
        }  
        return true;  

    }
}

你可能感兴趣的:(boolean)