Tree
LeetCode 116: Populating Next Right Pointers in Each Node
·1 分鐘
LeetCode
Medium
Linked-List
Tree
Depth-First-Search
Breadth-First-Search
LeetCode 116 解題筆記:完美二元樹,用上一層已經接好的 next 走過這一層:left.next = right,right.next = next.left;O(1) 額外空間
LeetCode 113: Path Sum II
·1 分鐘
LeetCode
Medium
Backtracking
Tree
Depth-First-Search
Binary-Tree
LeetCode 113 解題筆記:回溯記錄目前的路徑,到葉子時總和等於目標就存一份複本;值可能是負的,不能提早剪枝
LeetCode 107: Binary Tree Level Order Traversal II
·1 分鐘
LeetCode
Medium
Tree
Breadth-First-Search
Binary-Tree
LeetCode 107 解題筆記:一般的層序遍歷,最後把結果反轉,就是由下往上
LeetCode 103: Binary Tree Zigzag Level Order Traversal
·1 分鐘
LeetCode
Medium
Tree
Breadth-First-Search
Binary-Tree
LeetCode 103 解題筆記:一般的層序遍歷,奇數層的結果反轉就是之字形
LeetCode 1379: Find a Corresponding Node of a Binary Tree in a Clone of That Tree
·1 分鐘
LeetCode
Easy
Tree
Depth-First-Search
Breadth-First-Search
Binary-Tree
LeetCode 1379 解題筆記:兩棵樹同時走,原樹走到 target 時,複製樹上的同一個位置就是答案;比的是節點本身
LeetCode 337: House Robber III
·1 分鐘
LeetCode
Medium
Dynamic-Programming
Tree
Depth-First-Search
Binary-Tree
LeetCode 337 解題筆記:樹上 DP,每個節點回傳(搶它、不搶它)的最大值;不是一層一層交錯搶
LeetCode 106: Construct Binary Tree from Inorder and Postorder Traversal
·1 分鐘
LeetCode
Medium
Array
Hash-Table
Divide-and-Conquer
Tree
LeetCode 106 解題筆記:後序的最後一個是根;從後序尾巴往前取根時,要先建右子樹再建左子樹
LeetCode 98: Validate Binary Search Tree
·2 分鐘
LeetCode
Medium
Tree
Depth-First-Search
Binary-Search-Tree
Binary-Tree
LeetCode 98 解題筆記:每個節點都有一個合法範圍(下界, 上界),往左走上界變成自己、往右走下界變成自己;只比父子不夠
LeetCode 230: Kth Smallest Element in a BST
·1 分鐘
LeetCode
Medium
Tree
Depth-First-Search
Binary-Search-Tree
Binary-Tree
LeetCode 230 解題筆記:BST 的中序遍歷是由小到大,迭代中序走到第 k 個就停
LeetCode 199: Binary Tree Right Side View
·1 分鐘
LeetCode
Medium
Tree
Depth-First-Search
Breadth-First-Search
Binary-Tree
LeetCode 199 解題筆記:層序遍歷,每一層最右邊的節點就是從右邊看得到的
LeetCode 1448: Count Good Nodes in Binary Tree
·1 分鐘
LeetCode
Medium
Tree
Depth-First-Search
Breadth-First-Search
Binary-Tree
LeetCode 1448 解題筆記:DFS 往下傳路徑上的最大值,節點的值大於等於它就是好節點
LeetCode 105: Construct Binary Tree from Preorder and Inorder Traversal
·2 分鐘
LeetCode
Medium
Array
Hash-Table
Divide-and-Conquer
Tree
LeetCode 105 解題筆記:前序的第一個是根,在中序裡找到根的位置就知道左子樹有幾個節點;用字典查位置,O(n)