使用Java做一个编写一个方法判断一个字符串是否为回文,例如“abcba”的程序
时间: 2024-03-21 21:38:56 浏览: 15
可以使用Java的StringBuilder类来实现判断一个字符串是否为回文的方法。具体步骤如下:
1. 将字符串转换为StringBuilder对象;
2. 使用StringBuilder的reverse()方法将字符串反转;
3. 将反转后的字符串转换为String对象;
4. 判断反转后的字符串是否与原字符串相等。
代码示例:
```java
public boolean isPalindrome(String str) {
StringBuilder sb = new StringBuilder(str);
return sb.reverse().toString().equals(str);
}
```
调用方式:
```java
String str1 = "abcba";
boolean b1 = isPalindrome(str1); // true
String str2 = "abcd";
boolean b2 = isPalindrome(str2); // false
```
相关问题
使用Java编写一个方法判断一个字符串是否为回文,例如“abcba”
可以使用以下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编写,编写一个方法判断一个字符串是否为回文,例如“abcba”
可以使用双指针的方法来判断一个字符串是否为回文,具体方法如下:
```java
public static boolean isPalindrome(String s) {
if (s == null) {
return false;
}
int left = 0;
int right = s.length() - 1;
while (left < right) {
if (s.charAt(left) != s.charAt(right)) {
return false;
}
left++;
right--;
}
return true;
}
```
这个方法首先判断字符串是否为空,如果为空则返回 false。接着定义两个指针 left 和 right,分别指向字符串的首尾字符。然后在一个 while 循环中,不断将 left 向右移动,right 向左移动,同时比较它们指向的字符是否相同,如果不同则返回 false。当 left >= right 时,说明整个字符串都已经比较完毕,同时没有发现不同的字符,因此返回 true。