判斷一個整數是不是迴文數

這段代碼是我作leetcode練習題時寫的,雖然實現了迴文數的識別,可是倒置後的數字不是一個完整的數字,而是由幾個輸出拼接而成的,我的以爲不是很好,有點投機取巧的嫌疑。還望有高手指點。java

package huiwenshu;
import java.util.*;

public class study06 {
    public static void main(String[] args) {
        Scanner number = new Scanner(System.in);

        //輸入長整形數字a
        System.out.printf("輸入原始數字:");
        Integer a = number.nextInt();

        //將a轉換爲字符串類型
        String b = a.toString();

        //將字符串轉化爲數組
        char c[] = b.toCharArray();

        //定義一個新數組用於接收倒置後的數組元素
        char[] d = new char[c.length];
        System.out.print("倒置後的數字爲:");
        for (int i = 0; i < c.length; i++) {
            d[i] = c[c.length-i-1];
            System.out.print(d[i]);
        }

        //判斷數字是不是迴文數
        System.out.println();
       if (Arrays.toString(c).equals(Arrays.toString(d))){
           System.out.println("該數字是迴文數");
       }else {
           System.out.println("該數字不是迴文數");
       }
    }
}

下面這段代碼是能夠在leetcode上提交的代碼:數組

import java.util.*;

public class Solution {
    public static void main(String[] args) {
        Solution a = new Solution();
        Scanner b = new Scanner(System.in);
        Integer c = b.nextInt();
        boolean g=a.isPalindrome(c);
        System.out.println(g);
    }

    public boolean isPalindrome(Integer x) {
        //將a轉換爲字符串類型
        String d = x.toString();

        //將字符串轉化爲數組
        char e[] = d.toCharArray();

        //定義一個新數組用於接收倒置後的數組元素
        char[] f = new char[e.length];
        for (int i = 0; i < e.length; i++) {
            f[i] = e[e.length - i - 1];
        }
        if (Arrays.toString(e).equals(Arrays.toString(f))) {
            return true;
        } else {
            return false;
        }
    }
}
相關文章
相關標籤/搜索