1. 程式人生 > >7 用兩個棧實現隊列

7 用兩個棧實現隊列

pop turn span 棧實現隊列 兩個棧實現隊列 top style col pub

用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素為int類型。

C++:

 1 class Solution
 2 {
 3 public:
 4     void push(int node) {
 5         stack1.push(node) ;
 6     }
 7 
 8     int pop() {
 9         if (stack2.empty()){
10             while(!stack1.empty()){
11                 int t = stack1.top() ;
12                 stack1.pop() ;
13 stack2.push(t) ; 14 } 15 } 16 int res = stack2.top() ; 17 stack2.pop() ; 18 return res ; 19 } 20 21 private: 22 stack<int> stack1; 23 stack<int> stack2; 24 };

Java:

 1 import java.util.Stack;
 2 
 3 public class
Solution { 4 Stack<Integer> stack1 = new Stack<Integer>(); 5 Stack<Integer> stack2 = new Stack<Integer>(); 6 7 public void push(int node) { 8 stack1.push(node) ; 9 } 10 11 public int pop() { 12 if (stack2.empty()){ 13 while
(!stack1.empty()){ 14 stack2.push(stack1.pop()) ; 15 } 16 } 17 int res = stack2.pop() ; 18 return res ; 19 } 20 }

7 用兩個棧實現隊列