LeetCode Implement Queue using Stacks
来源:互联网 发布:知乎 正楷 字帖推荐 编辑:程序博客网 时间:2024/06/02 02:34
题目:
Implement the following operations of a queue using stacks.
- push(x) -- Push element x to the back of queue.
- pop() -- Removes the element from in front of queue.
- peek() -- Get the front element.
- empty() -- Return whether the queue is empty.
- You must use only standard operations of a stack -- which means only
push to top
,peek/pop from top
,size
, andis empty
operations are valid. - Depending on your language, stack may not be supported natively. You may simulate a stack by using a list or deque (double-ended queue), as long as you use only standard operations of a stack.
- You may assume that all operations are valid (for example, no pop or peek operations will be called on an empty queue).
- 就是使用一个双栈来实现一个队列,可以使用栈的一些个方法,例如push或者是top等方法。
代码:
class MyQueue { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); // Push element x to the back of queue. public void push(int x) { if(!stack1.isEmpty()) //这里的判断第一个栈是否为空 stack1.push(x); else //如果第一个栈为空,那么就要从第二个栈中的数据压入第一个栈中 { while(!stack2.isEmpty()) stack1.push(stack2.pop()); stack1.push(x); } } // Removes the element from in front of queue. public void pop() { if(!stack2.isEmpty()) stack2.pop(); else { while(!stack1.isEmpty()) stack2.push(stack1.pop()); stack2.pop(); } } // Get the front element. public int peek() { if(!stack2.isEmpty()) return stack2.peek(); else { while(!stack1.isEmpty()) stack2.push(stack1.pop()); return stack2.peek(); } } // Return whether the queue is empty. public boolean empty() { return (stack1.isEmpty() && stack2.isEmpty()); }}
0 0
- leetcode :Implement Queue using Stacks
- [LeetCode] Implement Queue using Stacks
- LeetCode Implement Queue using Stacks
- LeetCode || Implement Queue using Stacks
- leetcode Implement Queue using Stacks
- Leetcode Implement Queue using Stacks
- [LeetCode]Implement Queue using Stacks
- 【Leetcode】Implement Queue using Stacks
- LeetCode Implement Queue using Stacks
- Leetcode: Implement Queue using Stacks
- [leetcode] Implement Queue using Stacks
- 【leetcode】Implement Queue using Stacks
- [Leetcode]Implement Queue using Stacks
- [leetcode] Implement Queue using Stacks
- LeetCode-Implement Queue using Stacks
- LeetCode Implement Queue using Stacks
- Leetcode: Implement Queue using Stacks
- LeetCode:Implement Queue using Stacks
- Design Model
- 22款基于jQuery的响应式图片滑块插件
- struts2登录拦截器代码实例
- 第二周【项目3 - 体验复杂度】
- 使用Workbench创建数据库和表
- LeetCode Implement Queue using Stacks
- C++Primer第五版 3.3.2节练习
- LeetCode 1 Two Sum
- sqoop 抽取源码流程分析( 二 ) 导入工具代码结构分析
- linux iscsi 配置过程详解--包括自动挂载文件系统
- 第2周项目2程序的多文件组织
- android Studio优化
- 去哪网2015面试题:[编程题] 首个重复字符
- 不给人设定角色