文章

栈(Stack)

  • 常规栈:就是简单的栈操作,一般直接 poppush 操作就行了。(例题:ID-1 ID-2 ID-3 ID-4

  • 单调栈:栈中的元素按照一定的规则呈递增或者递减顺序排列,当出现失序时出栈。(例题:ID-5 ID-6 ID-7 ID-8

栈的例题

IDLeetCode 题号描述思路
1946. Validate Stack Sequences判断数组是否可以通过栈操作得到重排序的数组用栈模拟
2735. Asteroid Collision行星碰撞问题用栈模拟,注意规则细节
320. Valid Parentheses判断括号是否合规栈模拟
4301. Remove Invalid Parentheses移除非法括号栈模拟统计 + DFS,竟然没有优化方法…
5496. Next Greater Element I找到数组里对应数字比他大的下一个数字严格单调递增栈
6503. Next Greater Element II找到循环数组里对应数字比他大的下一个数字严格单调递增栈 + 遍历两次
7556. Next Greater Element III将一个数字变成比他大的最小的数字,且每位上的数字个数相同模拟单调栈
8402. Remove K Digits删掉 K 个数字后的最小数字单调栈
9853. Car Fleet不同车速的车是否能组成车队按出发先后排序 + 单调栈
10739. Daily Temperatures几天后会比今天更温暖单调栈
11907. Sum of Subarray Minimums子数组的最小值之和单调栈 + 双向遍历
Basic Calculator 系列Nested List Iterator 系列Decode StringNumber of Atoms
本文由作者按照 CC BY 4.0 进行授权