题目描述:
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
解题思路:
引入一个辅助栈,用于存储每次的最小元素。
# -*- coding:utf-8 -*-
class Solution:
def __init__(self):
self.stack = []
self.minStack = []
def push(self, node):
self.stack.append(node)
#别忘了not self.minStack这个条件
if not self.minStack or self.minStack[-1]>node:
self.minStack.append(node)
else:
self.minStack.append(self.minStack[-1])
def pop(self):
# write code here
if self.stack:
self.stack.pop()
self.minStack.pop()
def top(self):
# write code here
if self.stack:
return self.stack[-1]
else:
return None
def min(self):
# write code here
if self.minStack:
return self.minStack[-1]
else:
return None
网友评论