堆棧相關面試題(詳解)

1. 實現一個棧,要求實現Push(出棧)、Pop(入棧)、Min(返回最小值的操做)時間複雜度爲O(1)。 分析:設計兩個棧,一個棧用來push 、pop操做,另外一個棧用來保存當前最小值Min。當push元素小於等於Min棧頂元素時,將其壓入Min棧頂,當pop元素等於Min棧頂元素時,兩個棧均要pop出棧頂元素。下圖爲各類狀況的優缺點分析。node class StackWithMin {
相關文章
相關標籤/搜索