判断是否是回文数

示例如下:

/**
 * 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
 * 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。
 */
public class HwNumber {
    public static boolean isPalindrome(int x) {
        String reverseStr = (new StringBuilder(x + "")).reverse().toString();
        return (x + "").equals(reverseStr);
    }

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

    public static void main(String[] args) {
        System.out.println(isPalindrome(1222221));
        System.out.println(isPalindrome2(123321));
    }
}
posted @ 2021-09-17 11:49  xiaolifc  阅读(164)  评论(0)    收藏  举报