请输入一个字符串,判断是否对称java
时间: 2024-12-31 12:05:40 浏览: 15
为了判断一个字符串是否对称(也称为回文),你可以使用Java编写如下的代码:
```java
public class Main {
public static boolean isPalindrome(String str) {
// 首先去除字符串中的空格并转为小写,忽略大小写和非字母数字字符
String cleanStr = str.replaceAll("[^a-zA-Z0-9]", "").toLowerCase();
// 双指针法,从两端开始比较字符是否相等
int left = 0;
int right = cleanStr.length() - 1;
while (left < right) {
if (cleanStr.charAt(left) != cleanStr.charAt(right)) {
return false; // 如果发现不相等,则不是回文
}
left++;
right--;
}
return true; // 没有发现不相等的字符,说明是回文
}
public static void main(String[] args) {
String input = "A man, a plan, a canal: Panama"; // 测试输入
System.out.println(isPalindrome(input)); // 输出结果
}
}
```
这个程序会检查给定的字符串,如果从前往后读和从后往前读是一样的,那么它就是对称的(回文)。如果`isPalindrome()`返回`true`,则字符串是对称的。
阅读全文