9. Palindrome Number

判断一个数字是否是回文数字。

比较直接的办法是将数组转换成字符串,然后判断是否是回文字符串。但题目要求不要使用额外的空间。所以可以利用回文数字的一个特性:reverse后的数字和原数字相等。

public class Solution {
    public boolean isPalindrome(int x) {
        // 注意这两个边界条件
        if (x == 0)
            return true;
        if (x < 0)
            return false;
        // 注意这种in-place reverse number的算法
        int tmp = x, sum = 0;
        while (x > 0) {
            sum = sum * 10 + x % 10;
            x = x / 10;
        }

        return tmp == sum;
    }
}

results matching ""

    No results matching ""