LeetCode - 232. Implement Queue using Stacks
来源:互联网 发布:asp读取excel数据 编辑:程序博客网 时间:2024/06/05 01:19
可以用两个stack实现MyQueue这个类,首先要给这个类添加两个property,即两个stack,同时添加一个构造函数,在这个构造函数中对这两个stack进行初始化。
push(x) -- Push element x to the back of queue:
将元素push到stack2中;
pop() -- Removes the element from in front of queue:
我们使用stack1来pop元素,为此,首先我们要将stack2中的元素以逆序的方式添加到stack1当中去,可以另外写一个函数来实现这个功能。之后在每次pop的时候都先检查stack1是否为空,如果是的话就将stack2的元素全部放入stack1中,否则直接对stack1进行pop
peek() -- Get the front element:
与pop相似,只是将调用的函数变成peek;
empty() -- Return whether the queue is empty:
检查是否stack1和stack2都为空;
代码如下:
class MyQueue { private Stack<Integer> stack1; private Stack<Integer> stack2; // Constructor MyQueue(){ stack1 = new Stack<Integer>(); stack2 = new Stack<Integer>(); } public void stack2ToStack1(){ while(!stack2.empty()){ stack1.push(stack2.pop()); } } // Push element x to the back of queue. public void push(int x) { stack2.push(x); } // Removes the element from in front of queue. public void pop() { if(stack1.empty()){ stack2ToStack1(); } stack1.pop(); } // Get the front element. public int peek() { if(stack1.empty()){ stack2ToStack1(); } return stack1.peek(); } // Return whether the queue is empty. public boolean empty() { return stack1.empty() && stack2.empty(); }}
0 0
- [LeetCode]232.Implement Queue using Stacks
- 【leetcode】232. Implement Queue using Stacks
- <LeetCode OJ> 232. Implement Queue using Stacks
- 232. Implement Queue using Stacks LeetCode
- Leetcode: 232. Implement Queue using Stacks(JAVA)
- leetcode 232. Implement Queue using Stacks
- LeetCode *** 232. Implement Queue using Stacks
- 【leetcode】232. Implement Queue using Stacks
- LeetCode 232. Implement Queue using Stacks
- Leetcode题解 232. Implement Queue using Stacks
- #leetcode#232. Implement Queue using Stacks
- leetcode 232. Implement Queue using Stacks
- Leetcode 232. Implement Queue using Stacks
- leetcode 232. Implement Queue using Stacks
- LeetCode-232.Implement Queue using Stacks
- 【leetcode】232. Implement Queue using Stacks
- [leetcode] 232. Implement Queue using Stacks
- LeetCode - 232. Implement Queue using Stacks
- 【城会玩】hrbust 1341Who will be punished【思维】
- 一个有序的二维数组,自上而下,自左至右都是升序,判断输入的整数是否在数组中
- Android EditText的TextWatcher监听回调参数详解
- Android EditText实现只能输入几位整数几位小数
- libcurl 使用
- LeetCode - 232. Implement Queue using Stacks
- SQL语句测试
- node 安装 卸载 版本控制
- jms
- 树的非递归前序遍历
- Update 多行数据(将一张表中某列的值更新到另外一张表中)
- pat.求整数段的和
- QQ好友分组添加好友(UITableView实现)
- Java基础与案例开发详解の数组及常用技巧