回文数

时光总嘲笑我的痴心妄想 提交于 2020-02-29 04:16:08

回文数

题目:https://leetcode-cn.com/problems/palindrome-number/description/

package com.test;

public class Lesson003 {
    public static void main(String[] args) {
        int i = 121;
        boolean isHuiwen = judgeHuiwen(i);
        System.out.println(isHuiwen);
    }

    private static boolean judgeHuiwen(int x) {
        // 负数不回文
        if (x < 0) {
            return false;
        }
        // 10以内回文,0也是回文
        if (x < 10) {
            return true;
        }
        // 末尾是0不回文
        if ((x ^ 0) == 0) {
            return false;
        }
        // 最多10位数
        int[] arr = new int[10];
        int index = 0;
        while (true) {
            int i1 = x % 10;
            arr[index] = i1;
            index++;
            x = x / 10;
            if (x < 10) {
                break;
            }
        }
        arr[index] = x;
        for (int j = 0; j <= index; j++) {
            // 首尾不相等就返回false
            if (arr[j] - arr[index - j] != 0) {
                return false;
            }
            // 到了中心点就返回true
            if (j >= index / 2) {
                return true;
            }
        }
        return true;
    }
}

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!