使用Java函数实现判断字符串是否为回文数
发布时间:2023-07-05 20:54:45
判断字符串是否为回文数可以使用以下几种方法实现:
1. 暴力解法:
暴力解法是最简单直观的方法,就是将原字符串进行反转,然后与原字符串进行比较,若二者相等,则原字符串是回文数。反转字符串可以使用StringBuilder的reverse方法。
public static boolean isPalindrome(String str) {
StringBuilder reverse = new StringBuilder(str).reverse();
return str.equals(reverse.toString());
}
2. 双指针法:
双指针法是一种更高效的方法,可以通过将左右两个指针分别指向字符串的首尾,并向中间移动判断对应字符是否相等来判断是否回文数。
public static boolean isPalindrome(String str) {
int left = 0;
int right = str.length() - 1;
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
3. 递归法:
递归法是将判断回文数的问题转化为判断字符串的首尾字符是否相等,并去掉首尾字符后继续递归判断中间的子串是否为回文数。
public static boolean isPalindrome(String str) {
if (str.length() <= 1) {
return true;
}
if (str.charAt(0) != str.charAt(str.length() - 1)) {
return false;
}
return isPalindrome(str.substring(1, str.length() - 1));
}
这些方法都可以判断字符串是否为回文数,需要根据具体情况选择适合的方法使用。
