用2個棧實現佇列
題目
程式碼
public class Solution {
Stack<Integer> stack1 = new Stack<Integer>();
Stack<Integer> stack2 = new Stack<Integer>();
public void push(int node) {
stack1.push(node);
}
public int pop() {
if (stack2.isEmpty()){
while(!stack1.isEmpty()){
stack2.push(stack1.peek());
stack1.pop();
}
}
int ret = stack2.peek();
stack2.pop();
return ret;
}
}
思路
2個棧實現一個佇列,由於佇列是先進先出,棧是先進後出的。
1.push方法入棧就是直接將資料push進stack1。
2.pop方法就要分情況,如果stack2為空,就把stack1的元素全都push進stack2,然後peek棧頂元素。如果stack2不為空,就直接peek棧頂元素就可以。
總結
題目比較簡單,就是把棧1的元素輸入到棧2,就變成正向排序了。
相關文章
- 用棧實現佇列佇列
- 用佇列實現棧佇列
- 9. 題目:對佇列實現棧&用棧實現佇列佇列
- Day 10| 232.用棧實現佇列 、 225. 用佇列實現棧佇列
- 兩個棧實現佇列佇列
- 【ZJOF】用來個棧來實現一個佇列佇列
- 題目9:用兩個棧實現佇列佇列
- leedcode-用佇列實現棧佇列
- leedcode-用棧實現佇列佇列
- 用JavaScript實現棧與佇列JavaScript佇列
- 兩個棧實現佇列操作佇列
- offer通過--7兩個棧實現佇列-2佇列
- offer通過--8兩個棧實現佇列-2佇列
- 通過佇列實現棧OR通過棧實現佇列佇列
- 面試題之【用兩個棧實現佇列】面試題佇列
- 資料結構 使用2個棧實現一個佇列資料結構佇列
- 1201-用棧實現最小佇列佇列
- LeetCode225. 用佇列實現棧LeetCode佇列
- 劍指offer | 09. 用兩個棧實現佇列佇列
- 劍指offer-用兩個棧實現佇列-php佇列PHP
- 力扣-232. 用棧實現佇列力扣佇列
- 用佇列實現棧,用棧實現佇列,聽起來有點繞,都搞懂了就掌握了精髓!佇列
- [每日一題] 第七題:用兩個棧實現佇列每日一題佇列
- LeetCode225.佇列實現棧LeetCode佇列
- 《劍指 Offer》棧實現佇列佇列
- leetcode155. 最小棧 1441. 用棧操作構建陣列 劍指 Offer 09. 用兩個棧實現佇列LeetCode陣列佇列
- Chapter 2 棧和佇列APT佇列
- 劍指offer(java實現)第5題“用兩個棧實現佇列”-牛客網Java佇列
- Leetcode 225. Implement Stack using Queues 用佇列實現棧LeetCode佇列
- 10天【程式碼隨想錄演算法訓練營34期】 第五章 棧與佇列part01(● 232.用棧實現佇列 ● 225. 用佇列實現棧)演算法佇列
- 怎樣用一個佇列和一個棧實現求一個表示式的值?佇列
- 用 Rust 實現佇列Rust佇列
- 程式碼隨想錄演算法訓練營第第十天 | 232.用棧實現佇列 、225. 用佇列實現棧演算法佇列
- 棧-佇列佇列
- 佇列,棧佇列
- 棧、佇列佇列
- 2. 揹包,佇列和棧佇列
- leetcode 232. Implement Queue using Stacks 用棧實現佇列(簡單)LeetCode佇列