設計乙個支援 push ,pop ,top 操作,並能在常數時間內檢索到最小元素的棧。
push(x) —— 將元素 x 推入棧中。
pop() —— 刪除棧頂的元素。
top() —— 獲取棧頂元素。
getmin() —— 檢索棧中的最小元素。
示例:輸入:
["minstack","push","push","push","getmin","pop","top","getmin"]
[,[-2],[0],[-3],,,,]
輸出:[null,null,null,null,-3,null,0,-2]
解釋:minstack minstack = new minstack();
minstack.push(-2);
minstack.push(0);
minstack.push(-3);
minstack.getmin(); --> 返回 -3.
minstack.pop();
minstack.top(); --> 返回 0.
minstack.getmin(); --> 返回 -2.
pop、top 和 getmin 操作總是在 非空棧 上呼叫。
class minstack
void push(int x) else
data.push(x);
mindata.push(min);
}void pop()
if(data.size() != 0)
}int top() else return null;
}int getmin() else return null;
}//使用兩個棧實現這個
//1個用來存放正常壓入的資料
//另乙個用來存放棧最小值
stackdata;
stackmindata;
int min;
};/**
* your minstack object will be instantiated and called as such:
* minstack* obj = new minstack();
* obj->push(x);
* obj->pop();
* int param_3 = obj->top();
* int param_4 = obj->getmin();
*/
155實現最小棧
題意 設計乙個支援 push,pop,top 操作,並能在常數時間內檢索到最小元素的棧。push x 將元素 x 推入棧中。pop 刪除棧頂的元素。top 獲取棧頂元素。getmin 檢索棧中的最小元素。方法一 使用輔助棧class minstack def init self self.stack...
155 最小棧(JS實現)
設計乙個支援 push pop top 操作,並能在常數時間內檢索到最小元素的棧。push x 將元素 x 推入棧中。pop 刪除棧頂的元素。top 獲取棧頂元素。getmin 檢索棧中的最小元素。示例 輸入 minstack push push push getmin pop top 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...