牛客网用两个栈来实现队列

xiaoxiao2021-02-28  41

题目:

用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。

思路:

进队列:

1、将数据push到stack1中

出队列:

2、pop出stack1中的数据push到stack2中

3、pop出stack2中的数据

代码:

import java.util.Stack; 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(stack1.empty()&&stack2.empty()){ throw new RuntimeException("Queue is empty"); } if(stack2.empty()){ while(!stack1.empty()){ stack2.push(stack1.pop()); } } return stack2.pop(); } }
转载请注明原文地址: https://www.6miu.com/read-2623661.html

最新回复(0)