java检测字符串是否为回文串。 对于一个字符串,如果从前向后和从后向前读是一样的,则称为回文串。例如,单词 mom、dad 和 noon 等都是回文串
时间: 2024-10-27 14:07:06 浏览: 26
在 Java 中,检查一个字符串是否是回文串可以采用多种方法,这里我会给出一种简单直观的方法:
```java
public class Main {
public static boolean isPalindrome(String str) {
// 将字符串转换为小写并去除空格,因为判断回文时不考虑大小写和空格
String processedStr = str.toLowerCase().replaceAll("\\s", "");
// 使用双指针法,一个从前往后遍历,一个从后往前遍历
int start = 0;
int end = processedStr.length() - 1;
while (start < end) {
if (processedStr.charAt(start) != processedStr.charAt(end)) {
return false; // 如果找到不同的字符,则不是回文
}
start++;
end--;
}
return true; // 所有字符都匹配,说明是回文
}
public static void main(String[] args) {
System.out.println(isPalindrome("madam")); // 输出:true
System.out.println(isPalindrome("hello")); // 输出:false
}
}
```
在这个例子中,`isPalindrome` 函数首先处理输入的字符串使其变得简洁,然后通过两个指针 `start` 和 `end` 同时从两端向中间移动,比较对应位置的字符。只要有一个字符不匹配,就立即返回 `false`,如果所有字符都匹配完毕,那么该字符串就是回文。
阅读全文