如何利用数组在 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

更新于: 2019-7-30

8 千次浏览

开启您的职业

完成课程并获得认证

开始
广告