判断回文
时间: 2024-02-22 13:55:13 浏览: 13
判断一个字符串是否为回文字符串的方法有很多种。以下是其中的一种方法,使用双指针法:
1. 定义两个指针,分别指向字符串的首尾字符。
2. 每次比较两个指针所指的字符是否相同,若不同则字符串不是回文字符串,直接返回 false。
3. 若相同,则将两个指针向中间移动,继续比较。
4. 当两个指针相遇时,说明字符串是回文字符串,返回 true。
以下是一个使用双指针法判断回文字符串的示例代码:
```
public boolean isPalindrome(String s) {
if (s == null || s.length() == 0) {
return true;
}
int left = 0, right = s.length() - 1;
while (left < right) {
while (left < right && !Character.isLetterOrDigit(s.charAt(left))) {
left++;
}
while (left < right && !Character.isLetterOrDigit(s.charAt(right))) {
right--;
}
if (Character.toLowerCase(s.charAt(left)) != Character.toLowerCase(s.charAt(right))) {
return false;
}
left++;
right--;
}
return true;
}
```
在这个示例代码中,我们还加入了忽略字母大小写和忽略非字母数字字符的处理。