設計乙個支援 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.
typedef struct minstack minstack;
/** initialize your data structure here. */
minstack* minstackcreate()
void minstackpush(minstack* obj, int x) else
min_stack->next = obj->next;
obj->next = min_stack;
}void minstackpop(minstack* obj)
minstack *temp = obj->next;
obj->next = temp->next;
free(temp);
}int minstacktop(minstack* obj)
return (obj->next)->val;
}int minstackgetmin(minstack* obj)
return (obj->next)->min_val;
}void minstackfree(minstack* obj)
}/**
* your minstack struct will be instantiated and called as such:
* minstack* obj = minstackcreate();
* minstackpush(obj, x);
* minstackpop(obj);
* int param_3 = minstacktop(obj);
* int param_4 = minstackgetmin(obj);
* minstackfree(obj);
*/
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 最小棧 雙鏈表
155.最小棧 設計乙個支援 push pop top 操作,並能在常數時間內檢索到最小元素的棧。push x 將元素 x 推入棧中。pop 刪除棧頂的元素。top 獲取棧頂元素。getmin 檢索棧中的最小元素。示例 輸入 minstack push push push getmin pop to...
Leetcode155實現最小堆
設計乙個支援 push,pop,top 操作,並能在常數時間內檢索到最小元素的棧。push x 將元素 x 推入棧中。pop 刪除棧頂的元素。top 獲取棧頂元素。getmin 檢索棧中的最小元素。示例 minstack minstack new minstack minstack.push 2 m...