<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>栈 on withdong02</title>
    <link>https://blog.withdong02.top/tags/%E6%A0%88/</link>
    <description>Recent content in 栈 on withdong02</description>
    <generator>Hugo</generator>
    <language>zh</language>
    <lastBuildDate>Thu, 26 Feb 2026 14:17:10 +0000</lastBuildDate>
    <atom:link href="https://blog.withdong02.top/tags/%E6%A0%88/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>LeetCode155.最小栈</title>
      <link>https://blog.withdong02.top/posts/leetcode155-%E6%9C%80%E5%B0%8F%E6%A0%88/</link>
      <pubDate>Thu, 26 Feb 2026 14:17:10 +0000</pubDate>
      <guid>https://blog.withdong02.top/posts/leetcode155-%E6%9C%80%E5%B0%8F%E6%A0%88/</guid>
      <description>&lt;p&gt;第二次碰到这道题了，又学了两种解题方法，记录一下。&lt;/p&gt;
&lt;h3 id=&#34;题目介绍&#34;&gt;题目介绍&lt;/h3&gt;
&lt;p&gt;设计一个支持 &lt;code&gt;push&lt;/code&gt; ，&lt;code&gt;pop&lt;/code&gt; ，&lt;code&gt;top&lt;/code&gt; 操作，并能在常数时间内检索到最小元素的栈。&lt;/p&gt;
&lt;p&gt;实现 &lt;code&gt;MinStack&lt;/code&gt; 类:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;MinStack()&lt;/code&gt; 初始化堆栈对象。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;void push(int val)&lt;/code&gt; 将元素val推入堆栈。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;void pop()&lt;/code&gt; 删除堆栈顶部的元素。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;int top()&lt;/code&gt; 获取堆栈顶部的元素。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;int getMin()&lt;/code&gt; 获取堆栈中的最小元素。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;解法一使用辅助栈&#34;&gt;解法一：使用辅助栈&lt;/h3&gt;
&lt;p&gt;这个也是最简单的，题目没有空间限制，考虑使用两个栈，主栈正常记录元素进出，辅助栈记录每个元素对应最小值的进出，辅助栈的栈顶保持为主栈所有元素的最小值。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
