判斷一個整數是否是迴文數
阿新 • • 發佈:2018-11-25
這段程式碼是我做leetcode練習題時寫的,雖然實現了迴文數的識別,但是倒置後的數字不是一個完整的數字,而是由幾個輸出拼接而成的,個人覺得不是很好,有點投機取巧的嫌疑。還望有高手指點。
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; } } }