LeetCode--225--用队列实现栈
Posted Assange
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode--225--用队列实现栈相关的知识,希望对你有一定的参考价值。
问题描述:
使用队列实现栈的下列操作:
- push(x) -- 元素 x 入栈
- pop() -- 移除栈顶元素
- top() -- 获取栈顶元素
- empty() -- 返回栈是否为空
注意:
- 你只能使用队列的基本操作-- 也就是
push to back
,peek/pop from front
,size
, 和is empty
这些操作是合法的。 - 你所使用的语言也许不支持队列。 你可以使用 list 或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。
- 你可以假设所有操作都是有效的(例如, 对一个空的栈不会调用 pop 或者 top 操作)。
方法:
1 class MyStack(object): 2 3 def __init__(self): 4 """ 5 Initialize your data structure here. 6 """ 7 self.lists = [] 8 9 def push(self, x): 10 """ 11 Push element x onto stack. 12 :type x: int 13 :rtype: void 14 """ 15 self.lists.append(x) 16 17 def pop(self): 18 """ 19 Removes the element on top of the stack and returns that element. 20 :rtype: int 21 """ 22 if len(self.lists) == 0: 23 return 24 return self.lists.pop() 25 26 def top(self): 27 """ 28 Get the top element. 29 :rtype: int 30 """ 31 return self.lists[-1] 32 33 def empty(self): 34 """ 35 Returns whether the stack is empty. 36 :rtype: bool 37 """ 38 return len(self.lists) == 0
2018-09-19 15:07:25
以上是关于LeetCode--225--用队列实现栈的主要内容,如果未能解决你的问题,请参考以下文章