回文数

判断一个正整数是不是回文数。

回文数的定义是,将这个数反转之后,得到的数仍然是同一个数。

 注意事项

给的数一定保证是32位正整数,但是反转之后的数就未必了。

样例

11121112321 这些是回文数。

23321232 这些不是回文数。

 

双指针查找比较,先把num转成char型数组,然后比较

 

    public static boolean isSymmetricalNum(int n) {
        char[] chars = String.valueOf(n).toCharArray();
        int len = chars.length;

//        从两边向中间
        int l = 0;
        int r = len - 1;
        while (r > l) {
            if (chars[l++] != chars[r--])
                return false;
        }
//        从中间向两边
//        int l = len / 2 - 1;
//        int r = l + (len % 2 == 0 ? 1 : 2);
//        while (r < len) {
//            if (chars[l++] != chars[r--])
//                return false;
//        }
        return true;
    }
View Code

 

posted @ 2017-06-24 10:19  lanic  阅读(128)  评论(0编辑  收藏  举报