java判断一个字符串是回文字符串。
时间: 2023-05-21 18:06:15 浏览: 85
可以使用双指针法进行判断,代码如下:
public static boolean isPalindrome(String s) {
int i = 0, j = s.length() - 1;
while (i < j) {
if (s.charAt(i) != s.charAt(j)) {
return false;
}
i++;
j--;
}
return true;
}
相关问题
设计一个函数判断一个字符串是不是回文字符串
设计一个用于判断字符串是否为回文的简单函数,你可以考虑以下几种语言:
**Python:**
```python
def is_palindrome(s):
# 将字符串转换为小写并去除空格
s = ''.join(c for c in s.lower() if c.isalnum())
# 比较字符串与其反转是否相等
return s == s[::-1]
```
**JavaScript:**
```javascript
function isPalindrome(str) {
str = str.toLowerCase().replace(/[\W_]/g, ''); // 移除非字母数字字符,并转为小写
return str === str.split('').reverse().join('');
}
```
**Java:**
```java
public boolean isPalindrome(String str) {
str = str.replaceAll("\\W", "").toLowerCase(); // 移除非字母数字字符,并转为小写
int left = 0, right = str.length() - 1;
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
```
**C#:**
```csharp
public bool IsPalindrome(string s) {
s = new string(s.ToLower().Where(c => Char.IsLetterOrDigit(c)).ToArray());
for (int i = 0; i < s.Length / 2; i++) {
if (s[i] != s[s.Length - i - 1]) {
return false;
}
}
return true;
}
```
以上函数均通过消除干扰字符,然后比较字符串与其反转是否相等来确定是否为回文。
Java判断字符串是回文串
在Java中,可以使用以下方法来判断一个字符串是否为回文串:
1. 反转字符串后比较:将字符串反转后与原字符串进行比较,如果相同,则该字符串是回文串。
2. 使用字符数组进行比较:将字符串转换为字符数组后,从两端开始同时进行比较,如果对应的字符相同,则继续比较,直到找到不同的字符或者比较完所有字符。如果所有字符都相同,则该字符串是回文串。
例如,下面是使用第一种方法来判断字符串"racecar"是否为回文串的代码:
```
public static boolean isPalindrome(String s) {
String reversed = new StringBuilder(s).reverse().toString();
return s.equals(reversed);
}
```
下面是使用第二种方法来判断字符串"racecar"是否为回文串的代码:
```
public static boolean isPalindrome(String s) {
char[] chars = s.toCharArray();
int left = 0;
int right = chars.length - 1;
while (left < right) {
if (chars[left] != chars[right]) {
return false;
}
left++;
right--;
}
return true;
}
```
在这两个代码中,如果字符串s是回文串,则isPalindrome()方法返回true,否则返回false。
阅读全文