↓快轉到主要內容

LeetCode

LeetCode 701: Insert into a Binary Search Tree
·1 分鐘
LeetCode Medium Tree Binary-Search-Tree Binary-Tree
LeetCode 701 解題筆記:沿著 BST 往下走到空位接上新節點;空樹要直接回傳新節點
LeetCode 687: Longest Univalue Path
·1 分鐘
LeetCode Medium Tree Depth-First-Search Binary-Tree Dp-on-Trees
LeetCode 687 解題筆記:DFS 回傳往下同值的最長鏈(邊數),在每個節點用左 + 右更新答案
LeetCode 515: Find Largest Value in Each Tree Row
·1 分鐘
LeetCode Medium Tree Depth-First-Search Breadth-First-Search Binary-Tree
LeetCode 515 解題筆記:BFS 層序遍歷,每層取最大值;初始值用 -inf
LeetCode 429: N-ary Tree Level Order Traversal
·1 分鐘
LeetCode Medium Tree Breadth-First-Search
LeetCode 429 解題筆記:BFS 層序遍歷,把左右小孩換成 children 清單
LeetCode 173: Binary Search Tree Iterator
·1 分鐘
LeetCode Medium Stack Tree Design Binary-Search-Tree Binary-Tree Iterator
LeetCode 173 解題筆記:攤平成陣列很直接但用 O(n) 空間;follow-up 用 stack 存左側鏈,均攤 O(1)、空間 O(h)
LeetCode 1372: Longest ZigZag Path in a Binary Tree
·1 分鐘
LeetCode Medium Dynamic-Programming Tree Depth-First-Search Binary-Tree Dp-on-Trees
LeetCode 1372 解題筆記:每個節點回傳兩個值:從這裡先往左、先往右的最長 zigzag;往左走接的是左小孩「先往右」的值
LeetCode 124: Binary Tree Maximum Path Sum
·1 分鐘
LeetCode Hard Dynamic-Programming Tree Depth-First-Search Binary-Tree Dp-on-Trees
LeetCode 124 解題筆記:DFS 回傳往下的一條鏈,在每個節點用「左鏈 + 自己 + 右鏈」更新答案;負的鏈要丟掉
LeetCode 3787: Find Diameter Endpoints of a Tree
·1 分鐘
LeetCode Medium Tree Breadth-First-Search Graph
LeetCode 3787 解題筆記:兩次 BFS 找到一條直徑的兩端 A、B;任一點最遠的點一定是 A 或 B,所以 max(dist(A,i), dist(B,i)) 等於直徑的點就是某條直徑的端點
LeetCode 314: Binary Tree Vertical Order Traversal
·1 分鐘
LeetCode Medium Hash-Table Tree Depth-First-Search Breadth-First-Search Sorting Binary-Tree
LeetCode 314 解題筆記:BFS 帶著欄位編號,用 BFS 才能保證同一欄由上到下、同一列由左到右
LeetCode 1186: Maximum Subarray Sum with One Deletion
·1 分鐘
LeetCode Medium Array Dynamic-Programming
LeetCode 1186 解題筆記:Kadane 加一個狀態:結尾在這裡、還沒刪過 / 已經刪過一個;答案要在每一步都更新
LeetCode 775: Global and Local Inversions
·2 分鐘
LeetCode Medium Array Math
LeetCode 775 解題筆記:把計數問題轉成存在性問題,O(n) 解決
LeetCode 23: Merge k Sorted Lists
·3 分鐘
LeetCode Hard Linked-List Heap Merge-Sort Divide-and-Conquer
LeetCode 23 解題筆記:heap 只放 k 個開頭,以及分治兩兩合併