java7-10 验证回文串
时间: 2024-05-12 08:17:25 浏览: 65
请参考以下 Java 代码实现回文串的验证:
```
public boolean isPalindrome(String s) {
// 去除空格和非字母数字的字符
s = s.replaceAll("[^a-zA-Z0-9]", "").toLowerCase();
int start = 0, end = s.length() - 1;
while(start < end) {
if(s.charAt(start) != s.charAt(end)) {
return false;
}
start++;
end--;
}
return true;
}
```
这个方法会先把字符串中的所有非字母数字字符去掉,并且转化为小写字母,然后使用双指针的方法进行比较。如果左右指针所指的字符不相等,则返回 false,否则继续进行比较。如果左指针和右指针相遇,那么说明这个字符串是回文串。
相关问题
7-2 验证回文串java
以下是一个简单的 Java 代码,用于验证给定字符串是否为回文串:
```java
public static boolean isPalindrome(String s) {
int i = 0, j = s.length() - 1;
while (i < j) {
while (i < j && !Character.isLetterOrDigit(s.charAt(i))) {
i++;
}
while (i < j && !Character.isLetterOrDigit(s.charAt(j))) {
j--;
}
if (Character.toLowerCase(s.charAt(i)) != Character.toLowerCase(s.charAt(j))) {
return false;
}
i++;
j--;
}
return true;
}
```
该方法使用两个指针,分别从字符串的两端开始向中间移动,跳过不是字母或数字的字符,并忽略大小写。如果两个指针指向的字符不相等,则返回 false,否则返回 true。
java验证回文串pta
题目中规定了使用 Java 实现回文串的验证,可以使用以下代码实现:
```
public boolean isPalindrome(String s) {
s = s.replaceAll("[^a-zA-Z0-9]", "").toLowerCase(); // 去除非字母和数字的字符并转化为小写
int left = 0, right = s.length() - 1;
while (left < right) {
if (s.charAt(left) != s.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
```
该方法首先将输入字符串中的非字母和数字的字符去除,并将剩余字符转化为小写。接着采用双指针的方法,从字符串的两端开始遍历,比较每个字符是否相等,最终判断字符串是否为回文串。
阅读全文