【剑指Offer】 20.包含min函数的栈 python实现
题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。 解题思路 1.dataStack为存储数据的栈,minStack为存储最小值的栈; 2.push的时候将value值与minStack中的top值比较,小则minStack push value,大则push top值 代码实现 # -*- coding:utf-8 -*- class Solution : def __init__ ( self ) : self . stack = [ ] self . assist = [ ] def push ( self , node ) : min = self . min ( ) if not min or node < min : self . assist . append ( node ) else : self . assist . append ( min ) self . stack . append ( node ) def pop ( self ) : if self . stack : self . assist . pop ( ) return self . stack . pop ( ) def top ( self ) : # write code here if self . stack :