如何使用 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 日

8K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告