↓快轉到主要內容

Stack

LeetCode 503: Next Greater Element II(單調棧)
·1 分鐘
LeetCode Daily Medium Array Stack Monotonic-Stack Circular-Array
單調棧、環狀陣列
LeetCode 496: Next Greater Element I
·1 分鐘
LeetCode Daily Easy Array Stack Monotonic-Stack Hash-Map Next-Greater-Element
單調遞減堆疊處理 nums2,預先建立下一個更大元素對照表,回答 nums1 查詢。
LeetCode 2487: Remove Nodes From Linked List
·1 分鐘
LeetCode Medium Linked-List Stack Recursion Monotonic-Stack
LeetCode 2487 解題筆記:保留的節點從左到右是非遞增的;用單調棧,比新節點小的都彈掉,最後把棧裡的節點串起來
LeetCode 2000: Reverse Prefix of Word
·1 分鐘
LeetCode Easy Two-Pointers String Stack
LeetCode 2000 解題筆記:找到 ch 第一次出現的位置 i,把 word[:i + 1] 反轉接上後面;找不到就原樣回傳
LeetCode 735: Asteroid Collision
·1 分鐘
LeetCode Medium Array Stack Simulation
LeetCode 735 解題筆記:從左到右用 stack,只有「stack 頂端往右、目前的往左」才會相撞,小的爆掉,一樣大一起爆
LeetCode 402: Remove K Digits
·1 分鐘
LeetCode Medium String Stack Greedy Monotonic-Stack
LeetCode 402 解題筆記:單調遞增 stack,遇到比頂端小的數字就把頂端刪掉(還有 k 次可刪時),最後去掉前導零
LeetCode 227: Basic Calculator II
·1 分鐘
LeetCode Medium Math String Stack
LeetCode 227 解題筆記:先把數字讀完整,遇到運算子時處理上一個運算子:+ - 把數放進 stack(減號放負數),* / 直接跟頂端算
LeetCode 143: Reorder List
·1 分鐘
LeetCode Medium Linked-List Two-Pointers Stack Recursion
LeetCode 143 解題筆記:找中點、反轉後半段、兩條交錯合併;前半段的尾巴要切斷
LeetCode 42: Trapping Rain Water
·1 分鐘
LeetCode Hard Array Two-Pointers Dynamic-Programming Stack
LeetCode 42 解題筆記:每格能存的水是 min(左邊最高, 右邊最高) - 自己的高度;用前後綴最大值或左右雙指針
LeetCode 71: Simplify Path
·1 分鐘
LeetCode Medium String Stack
LeetCode 71 解題筆記:用 / 切開,空字串和 . 跳過,.. 就 pop(根目錄不能再往上),其他名稱 push,最後用 / 接起來
LeetCode 1047: Remove All Adjacent Duplicates In String
·1 分鐘
LeetCode Easy String Stack
LeetCode 1047 解題筆記:stack 頂端跟目前字元相同就一起消掉,否則放進 stack;消掉之後新的頂端可能又能跟下一個消
LeetCode 1021: Remove Outermost Parentheses
·1 分鐘
LeetCode Easy String Stack Bracket-Sequences
LeetCode 1021 解題筆記:用深度計數取代 stack,深度從 0 變 1 的左括號和從 1 變 0 的右括號是外層,其他都保留