用Java编写一个方法,判断一个字符串是否是回文字符串:例如:abba,aba是回文字符串 abab,aabb不是回文字符串
时间: 2023-06-22 19:27:11 浏览: 53
可以使用双指针法,从字符串两端开始比较字符是否相等,直到两个指针相遇或者中间有不相等的字符。
以下是Java实现:
```java
public static boolean isPalindrome(String str) {
int left = 0;
int right = str.length() - 1;
while (left < right) {
if (str.charAt(left) != str.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
```
使用方法:
```java
String str1 = "abba";
String str2 = "aba";
String str3 = "abab";
String str4 = "aabb";
System.out.println(isPalindrome(str1)); // true
System.out.println(isPalindrome(str2)); // true
System.out.println(isPalindrome(str3)); // false
System.out.println(isPalindrome(str4)); // false
```
相关问题
用java编写一个方法判断一个字符串是否为回文 例如abcda
好的,以下是用 Java 编写的一个判断字符串是否为回文的方法:
```java
public static boolean isPalindrome(String str) {
if (str == null) {
return false;
}
int len = str.length();
for (int i = 0; i < len / 2; i++) {
if (str.charAt(i) != str.charAt(len - i - 1)) {
return false;
}
}
return true;
}
```
这个方法的实现很简单,就是比较字符串的前半部分和后半部分是否对称相等即可。如果字符串为 null 或者长度为 0,返回 false。否则遍历字符串的前半部分,判断它与后半部分是否对称相等,如果不相等就返回 false,否则返回 true。
对于你提供的例子 "abcda",这个方法会返回 false,因为它不是一个回文字符串。如果你想测试其他字符串是否为回文,可以调用这个方法,例如:
```java
String str = "abba";
if (isPalindrome(str)) {
System.out.println(str + " is a palindrome");
} else {
System.out.println(str + " is not a palindrome");
}
```
这个代码片段会输出 "abba is a palindrome"。
用java编写一个方法判断一个字符串是否为回文
好的,以下是用 Java 编写的一个判断字符串是否为回文的方法:
```java
public static boolean isPalindrome(String str) {
if (str == null) {
return false;
}
int len = str.length();
for (int i = 0; i < len / 2; i++) {
if (str.charAt(i) != str.charAt(len - i - 1)) {
return false;
}
}
return true;
}
```
这个方法的实现很简单,就是比较字符串的前半部分和后半部分是否对称相等即可。如果字符串为 null 或者长度为 0,返回 false。否则遍历字符串的前半部分,判断它与后半部分是否对称相等,如果不相等就返回 false,否则返回 true。
对于你提供的例子 "abcda",这个方法会返回 false,因为它不是一个回文字符串。如果你想测试其他字符串是否为回文,可以调用这个方法,例如:
```java
String str = "abba";
if (isPalindrome(str)) {
System.out.println(str + " is a palindrome");
} else {
System.out.println(str + " is not a palindrome");
}
```
这个代码片段会输出 "abba is a palindrome"。