棧排序。 編寫程式,對棧進行排序使最小元素位於棧頂。最多只能使用乙個其他的臨時棧存放資料,但不得將元素複製到別的資料結構(如陣列)中。該棧支援如下操作:push、pop、peek 和 isempty。當棧為空時,peek 返回 -1。
示例:
輸入:
["sortedstack", "push", "push", "peek", "pop", "peek"]
[, [1], [2], , , ]
輸出:[null,null,null,1,null,2]
輸入:
["sortedstack", "pop", "pop", "push", "pop", "isempty"]
[, , , [1], , ]
輸出:[null,null,null,null,null,true]
說明:
使用兩個棧,乙個棧 s 用來儲存資料,另乙個棧是輔助棧 help;
入棧:
入棧類似於最小棧的做法;
出棧:
獲取棧頂元素:
**如下:
class sortedstack
void push(int val)
s.push(val);
while(!help.empty())
}void pop()
int peek()
bool isempty()
};/**
* your sortedstack object will be instantiated and called as such:
* sortedstack* obj = new sortedstack();
* obj->push(val);
* obj->pop();
* int param_3 = obj->peek();
* bool param_4 = obj->isempty();
*/
leetcode 棧 155 最小棧
設計乙個支援 push,pop,top 操作,並能在常數時間內檢索到最小元素的棧。push x 將元素 x 推入棧中。pop 刪除棧頂的元素。top 獲取棧頂元素。getmin 檢索棧中的最小元素。示例 minstack minstack new minstack minstack.push 2 m...
LeetCode 簡單 棧 155 最小棧
設計乙個支援 push pop top 操作,並能在常數時間內檢索到最小元素的棧。push x 將元素 x 推入棧中。pop 刪除棧頂的元素。top 獲取棧頂元素。getmin 檢索棧中的最小元素。示例 輸入 minstack push push push getmin pop top getmin...
LeetCode面試題 03 05 棧排序
棧排序。編寫程式,對棧進行排序使最小元素位於棧頂。最多只能使用乙個其他的臨時棧存放資料,但不得將元素複製到別的資料結構 如陣列 中。該棧支援如下操作 push pop peek 和 isempty。當棧為空時,peek 返回 1。class sortedstack public void push ...