Java函数示例:判断一个字符串是否为回文字符串。
回文字符串是指从左到右和从右到左读都一样的字符串。要判断一个字符串是否为回文字符串,有多种方法可以实现。
方法一:使用双指针法
思路:使用两个指针分别指向字符串的左右两端,依次比较两个指针指向的字符是否相等,如果都相等,则继续向中间移动指针,直到两个指针相遇。如果在比较过程中发现有不相等的字符,则说明不是回文字符串。
代码示例:
public boolean isPalindrome(String s) {
int left = 0;
int right = s.length() - 1;
while (left < right) {
if (s.charAt(left) != s.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
方法二:使用StringBuilder反转字符串
思路:将原字符串倒序后,与原字符串进行比较,如果相等则为回文字符串。
代码示例:
public boolean isPalindrome(String s) {
StringBuilder reversed = new StringBuilder(s).reverse();
return s.equals(reversed.toString());
}
方法三:使用递归法
思路:递归判断字符串的首尾字符是否相等,如果相等,则判断两个字符串去掉首尾字符后是否为回文字符串。
代码示例:
public boolean isPalindrome(String s) {
if (s.length() <= 1) {
return true;
}
if (s.charAt(0) != s.charAt(s.length() - 1)) {
return false;
}
return isPalindrome(s.substring(1, s.length() - 1));
}
以上是三种判断字符串是否为回文字符串的方法示例,可以根据实际需求选择其中一种方法进行实现。
