[leetcode: Python]232. Implement Queue using Stacks
来源:互联网 发布:四川大学网络教学 编辑:程序博客网 时间:2024/06/04 20:10
题目:
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.
Notes:
You must use only standard operations of a stack – which means only push to top
, peek/pop from top
, size
, and is 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).
方法一:性能39ms
class MyQueue(object): def __init__(self): """ Initialize your data structure here. """ self.queue = [] def push(self, x): """ Push element x to the back of queue. :type x: int :rtype: void """ self.queue.append(x) def pop(self): """ Removes the element from in front of queue and returns that element. :rtype: int """ if not self.empty(): return self.queue.pop(0) def peek(self): """ Get the front element. :rtype: int """ if not self.empty(): return self.queue[0] def empty(self): """ Returns whether the queue is empty. :rtype: bool """ return len(self.queue) == 0# Your MyQueue object will be instantiated and called as such:# obj = MyQueue()# obj.push(x)# param_2 = obj.pop()# param_3 = obj.peek()# param_4 = obj.empty()
方法二:性能32ms
def push(self, x): self.stack.append(x) self.curElements += 1 """ Push element x to the back of queue. :type x: int :rtype: void """ def pop(self): res = self.stack[self.curFront] self.curFront += 1 self.curElements -= 1 return res """ Removes the element from in front of queue and returns that element. :rtype: int """ def peek(self): return self.stack[self.curFront] """ Get the front element. :rtype: int """ def empty(self): return self.curElements == 0 """ Returns whether the queue is empty. :rtype: bool """# Your MyQueue object will be instantiated and called as such:# obj = MyQueue()# obj.push(x)# param_2 = obj.pop()# param_3 = obj.peek()# param_4 = obj.empty()
- [leetcode: Python]232. Implement Queue using Stacks
- [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
- oracle 将字符串分隔方法
- MvvmCross .net standed修改版,支持最新的VS2017
- 《锋利的jQuery》学习笔记---第1章 认识jQuery
- VS2015安装路径不能修改
- HDU 2501 JAVA
- [leetcode: Python]232. Implement Queue using Stacks
- 欢迎使用CSDN-markdown编辑器
- HDU 2502 JAVA
- 动态修改DataGridView单元格的类型和编辑单元格
- 关于站内搜索的那些事儿
- HDU 2503 JAVA
- 版式设计中空间感的营造方法
- Spring data Entity 类中无需和数据库映射的属性
- Java Socket编程 标准范例(多线程)