39 lines
1.3 KiB
Markdown
39 lines
1.3 KiB
Markdown
|
<p>设计一个支持 <code>push</code> ,<code>pop</code> ,<code>top</code> 操作,并能在常数时间内检索到最小元素的栈。</p>
|
|||
|
|
|||
|
<ul>
|
|||
|
<li><code>push(x)</code> —— 将元素 x 推入栈中。</li>
|
|||
|
<li><code>pop()</code> —— 删除栈顶的元素。</li>
|
|||
|
<li><code>top()</code> —— 获取栈顶元素。</li>
|
|||
|
<li><code>getMin()</code> —— 检索栈中的最小元素。</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<p> </p>
|
|||
|
|
|||
|
<p><strong>示例:</strong></p>
|
|||
|
|
|||
|
<pre><strong>输入:</strong>
|
|||
|
["MinStack","push","push","push","getMin","pop","top","getMin"]
|
|||
|
[[],[-2],[0],[-3],[],[],[],[]]
|
|||
|
|
|||
|
<strong>输出:</strong>
|
|||
|
[null,null,null,null,-3,null,0,-2]
|
|||
|
|
|||
|
<strong>解释:</strong>
|
|||
|
MinStack minStack = new MinStack();
|
|||
|
minStack.push(-2);
|
|||
|
minStack.push(0);
|
|||
|
minStack.push(-3);
|
|||
|
minStack.getMin(); --> 返回 -3.
|
|||
|
minStack.pop();
|
|||
|
minStack.top(); --> 返回 0.
|
|||
|
minStack.getMin(); --> 返回 -2.
|
|||
|
</pre>
|
|||
|
|
|||
|
<p> </p>
|
|||
|
|
|||
|
<p><strong>提示:</strong></p>
|
|||
|
|
|||
|
<ul>
|
|||
|
<li><code>pop</code>、<code>top</code> 和 <code>getMin</code> 操作总是在 <strong>非空栈</strong> 上调用。</li>
|
|||
|
</ul>
|
|||
|
<div><div>Related Topics</div><div><li>栈</li><li>设计</li></div></div>\n<div><li>👍 856</li><li>👎 0</li></div>
|