题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
1 public class Solution {
2 Stack<Integer> stack1 = new Stack<Integer>();
3 Stack<Integer> stack2 = new Stack<Integer>();
4
5 public void push(int node) {
6 stack1.push(node);
7 }
8
9 public int pop() {
10 if(stack2.size()==0){
11 while(stack1.size()!=0){
12 stack2.push(stack1.pop());
13 }
14 }
15 return stack2.pop();
16 }
17 }
相关题目:两个栈实现一个队列
1 public class Solution {
2 Queue<Integer> queue1= new Queue<Integer>();
3 Queue<Integer> queue2= new Queue<Integer>();
4
5 public void push(int node) {
6 if(queue1.isEmpty() && queue2.isEmpty()){
7 queue1.add(element);
8 }
9
10 if(queue1.isEmpty()){
11 queue2.add(element);
12 }
13
14 if(queue2.isEmpty()){
15 queue1.add(element);
16 }
17 }
18
19 public int pop() {
20 if(queue1.isEmpty() && queue2.isEmpty()){
21 return;
22 }
23
24 if(queue1.isEmpty()){
25 while(queue2.size()>1){
26 queue1.add(queue2.poll());
27 }
28 return queue2.poll();
29 }
30
31 if(queue2.isEmpty()){
32 while(queue1.size()>1){
33 queue2.add(queue1.poll());
34 }
35 return queue1.poll();
36 }
37
38 }
39 }