编写程序来判断一个字符串是否是回文 编写一个程序来判断一个字符串是否是回文 数据结构Java语言
时间: 2024-10-17 12:12:58 浏览: 37
aba.rar_ABA_判断以@为结束符的字符串是否_回文序列
在Java中,我们可以使用双指针法来判断一个字符串是否是回文。回文是指正读反读都一样的词语,例如 "level" 和 "racecar" 就是回文字符串。
以下是一个简单的Java函数示例:
```java
public class Main {
public static boolean isPalindrome(String str) {
// 确保输入不是null并且转换为小写
if (str == null || str.isEmpty()) {
return false;
}
str = str.toLowerCase(); // 对于大小写不敏感的判断
int left = 0; // 左指针
int right = str.length() - 1; // 右指针
while (left < right) {
// 如果左右字符不相等,则不是回文
if (str.charAt(left) != str.charAt(right)) {
return false;
}
left++; // 左指针右移
right--; // 右指针左移
}
// 如果所有字符都匹配了,那么它是回文
return true;
}
public static void main(String[] args) {
System.out.println(isPalindrome("A man, a plan, a canal: Panama")); // 输出: true
System.out.println(isPalindrome("hello")); // 输出: false
}
}
```
在这个程序中,我们初始化两个指针分别指向字符串的开始和结束,然后不断比较它们指向的字符是否相同。如果发现不相等,立即返回`false`;当两个指针相遇或交叉时,说明整个字符串是回文,返回`true`。
阅读全文