java中用stack和queue判断回文
时间: 2024-02-25 10:54:21 浏览: 83
同样可以使用栈和队列来判断一个字符串是否为回文,下面是Java实现的代码示例:
```java
import java.util.Stack;
import java.util.LinkedList;
public class PalindromeChecker {
public static boolean isPalindrome(String s) {
Stack<Character> stack = new Stack<>();
LinkedList<Character> queue = new LinkedList<>();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
stack.push(c);
queue.offer(c);
}
while (!stack.empty() && !queue.isEmpty()) {
if (stack.pop() != queue.poll()) {
return false;
}
}
return true;
}
public static void main(String[] args) {
String s = "racecar";
if (isPalindrome(s)) {
System.out.println(s + " is a palindrome.");
} else {
System.out.println(s + " is not a palindrome.");
}
}
}
```
在这个例子中,我们使用`Stack`类实现了栈,使用`LinkedList`类实现了队列。具体操作方式与Python的实现类似。
阅读全文