leetcode 155 最小棧 C語言

2021-10-01 15:31:24 字數 1316 閱讀 3606

設計乙個支援 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...