設計乙個支援 push,pop,top 操作,並能在常數時間內檢索到最小元素的棧。
push(x) – 將元素 x 推入棧中。
pop() – 刪除棧頂的元素。
top() – 獲取棧頂元素。
getmin() – 檢索棧中的最小元素。
示例:
在原有的基礎上再使用乙個棧來存最小數字,每次壓棧的時候對比一下,如果這個數比存最小的數字的棧的棧頂小或者等於的話,就將其壓入到這個存最小數字的棧中,在彈出的時候,如果彈出的數和最小棧的棧頂數相等的話就將其彈出minstack minstack = new minstack();
minstack.push(-2);
minstack.push(0);
minstack.push(-3);
minstack.getmin(); --> 返回 -3.
minstack.pop();
minstack.top(); --> 返回 0.
minstack.getmin(); --> 返回 -2.
class minstack
public void push(int x)
}public void pop()
}public int top()
public int getmin()
}
leetcode 155 最小棧 c 實現
設計乙個支援 push pop top 操作,並能在常數時間內檢索到最小元素的棧。輸入 minstack push push push getmin pop top getmin 2 0 3 輸出 null,null,null,null,3,null,0,2 解釋 minstack minstack...
leetcode 155 最小棧 C語言
設計乙個支援 push,pop,top 操作,並能在常數時間內檢索到最小元素的棧。push x 將元素 x 推入棧中。pop 刪除棧頂的元素。top 獲取棧頂元素。getmin 檢索棧中的最小元素。示例 minstack minstack new minstack minstack.push 2 m...
LeetCode 155 最小棧 雙鏈表
155.最小棧 設計乙個支援 push pop top 操作,並能在常數時間內檢索到最小元素的棧。push x 將元素 x 推入棧中。pop 刪除棧頂的元素。top 獲取棧頂元素。getmin 檢索棧中的最小元素。示例 輸入 minstack push push push getmin pop to...