用数据结构的方法编写java代码,实现判断一个给定的字符串是否是回文字符串(如“abcecba”是回文字符串,“abcd”不是回文字符串)
时间: 2024-04-30 22:17:13 浏览: 68
好的,您可以使用栈来实现这个功能。首先,您将给定字符串中的每个字符推入一个栈中。然后,您弹出栈中的每个字符并将其连接起来形成一个新的字符串。最后,如果原始给定的字符串和新的字符串完全相同,则该字符串是回文。
以下是Java代码示例:
```
import java.util.Stack;
public class PalindromeChecker {
public static boolean isPalindrome(String str) {
Stack<Character> stack = new Stack<Character>();
for (int i = 0; i < str.length(); i++) {
stack.push(str.charAt(i));
}
String reversedStr = "";
while (!stack.isEmpty()) {
reversedStr += stack.pop();
}
return str.equals(reversedStr);
}
}
```
您可以使用以下代码来测试这个方法:
```
public class Test {
public static void main(String[] args) {
String str1 = "abcecba";
String str2 = "abcd";
System.out.println(PalindromeChecker.isPalindrome(str1) ? str1 + " is a palindrome" : str1 + " is not a palindrome");
System.out.println(PalindromeChecker.isPalindrome(str2) ? str2 + " is a palindrome" : str2 + " is not a palindrome");
}
}
```
输出:
```
abcecba is a palindrome
abcd is not a palindrome
```
阅读全文