2015年5月27日星期三

Palindrome Number leetcode

Determine whether an integer is a palindrome. Do this without extra space.
首先确定 负数不是回文串
然后判断数字的第一项和最后一项是否相同 不同就返回false. 相同再继续遍历


public class Solution {
    public boolean isPalindrome(int x) {
        if (x < 0) {
            return false;
        }
        int div = 1;
        while (x/10 >= div) {
            div *= 10; 
        }
        while (x != 0) {
            int left = x/div;
            int right = x%10;
            if (left != right) {
                return false;
            }
            x = (x%div) / 10;// x变为去掉left & right 的数字 12321--> 232
            div /= 100;//因为去掉了left和right 缩小100倍 div也要缩小
        }
        return true;
    }
}

没有评论:

发表评论