如何在Java中使用数组检查回文字符串?

验证给定的字符串是否是回文(使用数组)

  • 使用toCharArray()方法将给定的字符串转换为字符数组。

  • 复制此数组。

  • 反转数组。

  • 比较原始数组和反向数组。

  • 在匹配的情况下,给定的字符串是回文。

示例

import java.util.Arrays;
import java.util.Scanner;

public class Palindrome {
   public static void main(String args[]) {
      System.out.println("Enter a string ");
      Scanner sc = new Scanner(System.in);
      String s = sc.nextLine();
      char[] myArray = s.toCharArray();
      int size = myArray.length;
      char [] original = Arrays.copyOf(myArray,myArray.length);

      for (int i = 0; i < size / 2; i++) {
         char temp = myArray[i];
         myArray[i] = myArray[size-i-1];
         myArray[size-i-1] = temp;
      }
      System.out.println("Original Array"+Arrays.toString(original));
      System.out.println("Reverse Array"+Arrays.toString(myArray));

      if(Arrays.equals(myArray, original)) {
         System.out.println("Entered string is a palindrome");
      } else {
         System.out.println("Entered string is not a palindrome");
      }
   }
}

输出结果

Enter a string
mam
Original Array[m, a, m]
Reverse Array[m, a, m]
Entered string is a palindrome