java回文字符串判断的方法有哪些

avatar
作者
筋斗云
阅读量:0

Java中判断回文字符串的方法有以下几种:

  1. 使用StringBuilder的reverse()方法:将字符串转换为StringBuilder对象,然后使用reverse()方法将字符串反转,最后判断反转后的字符串与原字符串是否相等。
public static boolean isPalindrome(String str) { StringBuilder sb = new StringBuilder(str); return str.equals(sb.reverse().toString()); } 
  1. 使用递归:判断字符串的第一个字符与最后一个字符是否相等,如果相等,则递归判断去掉第一个和最后一个字符的子串是否是回文字符串。
public static boolean isPalindrome(String str) { if (str.length() <= 1) { return true; } if (str.charAt(0) == str.charAt(str.length() - 1)) { return isPalindrome(str.substring(1, str.length() - 1)); } else { return false; } } 
  1. 使用双指针:分别从字符串的开头和结尾设置两个指针,然后依次比较指针指向的字符是否相等,直到两个指针相遇或者不相等。
public static boolean isPalindrome(String str) { int i = 0, j = str.length() - 1; while (i < j) { if (str.charAt(i) != str.charAt(j)) { return false; } i++; j--; } return true; } 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!