java中判断回文字符串
时间: 2024-12-29 21:34:47 浏览: 12
在Java中,判断一个字符串是否是回文(即正读和反读都一样的字符串),可以采用多种方法。这里提供一种简单的字符数组反转比较法:
```java
public class Main {
public static boolean isPalindrome(String str) {
// 转换为小写并移除非字母数字字符
str = str.toLowerCase().replaceAll("[^a-z0-9]", "");
// 将字符串转换为字符数组
char[] chars = str.toCharArray();
// 双指针法,一个从头开始,一个从尾结束,逐个比较字符
int left = 0;
int right = chars.length - 1;
while (left < right) {
if (chars[left] != chars[right]) {
return false; // 如果有不相等的字符,说明不是回文
}
left++;
right--;
}
return true; // 遍历完所有字符都没找到不相等的,说明是回文
}
public static void main(String[] args) {
String str1 = "A man, a plan, a canal: Panama";
System.out.println(isPalindrome(str1)); // 输出:true
String str2 = "hello world";
System.out.println(isPalindrome(str2)); // 输出:false
}
}
```
阅读全文