编写一个程序,判断给定的字符串是否是回文串。 题目描述:回文串是指一个字符串正读和反读都相同 比如: aba abba abcba等是回文串
时间: 2024-12-29 18:34:49 浏览: 10
为了编写一个Java程序来判断给定字符串是否为回文串,你可以使用双指针技巧,一个指向字符串开头,另一个指向结尾,逐个比较字符直到它们相遇或交叉。以下是简单的实现代码:
```java
public class PalindromeChecker {
public static boolean isPalindrome(String input) {
// 移除空格和标点,并转为小写,简化比较
input = input.replaceAll("\\W", "").toLowerCase();
// 初始化两个指针,一个指向开始,一个指向结束
int left = 0;
int right = input.length() - 1;
// 当左指针小于等于右指针时继续比较
while (left < right) {
// 如果左右指针对应的字符不同,返回false
if (input.charAt(left) != input.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 world")); // 输出:false
}
}
```
阅读全文