這段代碼是我作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; } } }