java —— 迴文串字元
阿新 • • 發佈:2021-01-16
java —— 迴文串字元
題目詳情
“xyzyx”是一個迴文字串,所謂迴文字串就是指正讀反讀均相同的字元序列,
如“席主席”、“記書記”、“aha”和“ahaha”均是迴文,但“ahah”不是迴文。
輸入一行字元(僅包含小寫英文字母a~z)請判斷這行字串是否為迴文。
輸入格式:
只有一行,僅包含小寫英文字母a~z的字串,長度小於等於100。
輸出格式:
只有一行,如果是迴文請輸出YES,不是迴文則輸出NO,請注意大小寫。
樣例1:
輸入:
ahah
輸出:
NO
樣例2:
輸入:
ahaha
輸出:
YES
程式碼如下:
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); char[] str = sc.next().toCharArray(); // 輸入一個字串並轉換為字元陣列 if (str.length % 2 == 0){ // 判斷字元陣列的長度 if (Judge(str, str.length / 2) == 1){ System.out.println("YES"); }else System.out.println("NO"); }else{ if (Judge(str, (str.length + 1) / 2) == 1){ System.out.println("YES"); }else System.out.println("NO"); } } public static int Judge(char[] a, int n) { // 判斷是否是迴文字串 int i = 0; while (i < n) { if (a[i] == a[a.length - i - 1]) i++; else return 0; } return 1; } }
程式碼二:(提供者Julpsztx)
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); char[] str = sc.next().toCharArray(); // 輸入一個字串並轉換為字元陣列 System.out.println(Judge(str, str.length / 2) ? "YES" : "NO"); } public static boolean Judge(char[] a, int n) { // 判斷是否是迴文字串 int i = 0; while (i < n) { if (a[i] == a[a.length - i-1]) i++; else return false; } return true; } }