[栈与队列]常见用法与解题思路
1.栈的基本操作
- 创建栈:
Stackstack = new Stack<>();
//或者用双端队列好一点
Dequestack = new LinkedList ();
Dequestack = new ArrayList (); - 入栈(push):
stack.push(1);
stack.push(2);
stack.push(3); - 出栈(pop):
int topElement = stack.pop(); // 返回并移除栈顶元素 - 查看栈顶元素(peek):
int topElement = stack.peek(); // 返回栈顶元素但不移除 - 检查栈是否为空:
boolean isEmpty = stack.isEmpty(); - 获取栈的大小:
int size = stack.size();
2.双端队列的基本操作
-
创建一个空的 Deque
Dequedeque = new ArrayDeque<>(); -
插入元素
deque.addFirst(1); // 头部插入 1
deque.addLast(2); // 尾部插入 2
deque.push(3); // 头部插入 3
deque.offer(4); // 尾部插入 4 -
查看元素
System.out.println("头部元素: " + deque.peekFirst()); // 输出 3
System.out.println("尾部元素: " + deque.peekLast()); // 输出 4 -
删除元素
System.out.println("移除头部元素: " + deque.pollFirst()); // 输出 3
System.out.println("移除尾部元素: " + deque.pollLast()); // 输出 4 -
遍历元素
System.out.println("当前队列元素: ");
for (Integer element : deque) {
System.out.println(element);
}
Comments NOTHING