Java中字符串回文
时间: 2024-09-15 19:00:15 浏览: 43
Java判断字符串回文的代码实例
5星 · 资源好评率100%
字符串回文是指一个字符串正读和反读都相同,例如“level”或“civic”。在Java中,判断一个字符串是否为回文可以通过编写一个方法来实现,该方法通常会涉及到将字符串反转并与原字符串进行比较。下面是一个简单的例子,展示如何在Java中编写一个判断字符串是否为回文的方法:
```java
public class PalindromeChecker {
public static boolean isPalindrome(String str) {
// 去除可能的非字母数字字符并转换为小写
String filteredStr = str.replaceAll("[^A-Za-z0-9]", "").toLowerCase();
int left = 0;
int right = filteredStr.length() - 1;
// 双指针从两端向中间遍历
while (left < right) {
if (filteredStr.charAt(left) != filteredStr.charAt(right)) {
return false; // 如果发现不匹配的字符,则不是回文
}
left++; // 左指针向右移动
right--; // 右指针向左移动
}
return true; // 所有字符都匹配,是回文
}
public static void main(String[] args) {
String testStr = "A man, a plan, a canal: Panama";
System.out.println("Is the string a palindrome? " + isPalindrome(testStr));
}
}
```
在这个例子中,`isPalindrome` 方法首先使用正则表达式去除字符串中的非字母数字字符,并将剩余字符转换为小写,以忽略大小写和非字母数字字符的影响。然后使用双指针技术,一个指向字符串的开始位置,另一个指向结束位置,两个指针同时向中间移动,比较指针对应的字符是否相等。如果所有字符都相等,则字符串是回文,否则不是。
阅读全文