题目
栈是一种常见的数据结构,其特点是 先进后出
,也就是说最先放进去的元素,需要到最后才能取出来。
请使用 列表list 模拟实现栈的下列操作:
- push(x) -- 将元素 x 压入栈顶
- pop() -- 移除栈顶元素
- top() -- 获取栈顶元素
- empty() -- 判断栈是否为空
- size() -- 获取栈的长度
说明:假设每次调用 pop 和 top 都能保证栈不为空。
代码实现
class MyStack:
def __init__(self):
self.s = []
def push(self, x):
self.s.append(x)
def pop(self):
self.s.pop()
def top(self):
return self.s[-1]
def empty(self):
return self.s == []
def size(self):
return len(self.s)
测试过程
if __name__ == '__main__':
stack = MyStack()
stack.push(11) # 入栈
stack.push(22) # 入栈
print(stack.top())
print(stack.size())
stack.pop() # 出栈
print(stack.empty())
print(stack.top())
stack.pop() # 出栈
print(stack.size())
print(stack.empty())
执行代码后,得到如下结果:
22
2
False
11
0
True
更多Python编程题,等你来挑战:Python编程题汇总(持续更新中……)