Tree
LeetCode 102: Binary Tree Level Order Traversal
·1 分鐘
LeetCode
Medium
Tree
Breadth-First-Search
Binary-Tree
LeetCode 102 解題筆記:BFS 一次處理一整層,用目前這層的節點產生下一層;空樹回傳空 list
LeetCode 1022: Sum of Root To Leaf Binary Numbers
·1 分鐘
LeetCode
Easy
Tree
Depth-First-Search
Binary-Tree
LeetCode 1022 解題筆記:往下走時目前的數字乘 2 加上節點的值,到葉子時加進總和
LeetCode 993: Cousins in Binary Tree
·1 分鐘
LeetCode
Easy
Tree
Depth-First-Search
Breadth-First-Search
Binary-Tree
LeetCode 993 解題筆記:堂兄弟要同一層、但父節點不同;DFS 記錄 x 和 y 的深度與父節點再比較
LeetCode 965: Univalued Binary Tree
·1 分鐘
LeetCode
Easy
Tree
Depth-First-Search
Breadth-First-Search
Binary-Tree
LeetCode 965 解題筆記:每個節點的值都要等於根的值;遞迴時比的是值,不是遞迴回傳的布林值
LeetCode 938: Range Sum of BST
·1 分鐘
LeetCode
Easy
Tree
Depth-First-Search
Binary-Search-Tree
Binary-Tree
LeetCode 938 解題筆記:利用 BST 剪枝,節點比 low 小就只往右,比 high 大就只往左,在範圍內才加
LeetCode 897: Increasing Order Search Tree
·1 分鐘
LeetCode
Easy
Stack
Tree
Depth-First-Search
Binary-Search-Tree
LeetCode 897 解題筆記:中序遍歷,依序把節點接到一條只有右小孩的鏈上,左小孩設成 None;dummy 和移動的尾巴要分開
LeetCode 872: Leaf-Similar Trees
·1 分鐘
LeetCode
Easy
Tree
Depth-First-Search
Binary-Tree
LeetCode 872 解題筆記:用 DFS 由左到右收集葉子;BFS 收集的順序是一層一層,不是由左到右
LeetCode 783: Minimum Distance Between BST Nodes
·1 分鐘
LeetCode
Easy
Tree
Depth-First-Search
Breadth-First-Search
Binary-Search-Tree
LeetCode 783 解題筆記:BST 的中序是由小到大,最小差一定出現在中序相鄰的兩個值之間;記住前一個值逐一比較
LeetCode 703: Kth Largest Element in a Stream
·1 分鐘
LeetCode
Easy
Tree
Design
Binary-Search-Tree
Heap-Priority-Queue
LeetCode 703 解題筆記:維持一個大小為 k 的最小堆,堆頂就是第 k 大
LeetCode 700: Search in a Binary Search Tree
·1 分鐘
LeetCode
Easy
Tree
Binary-Search-Tree
Binary-Tree
LeetCode 700 解題筆記:比目標大就往左、比目標小就往右,找到就回傳那個節點
LeetCode 671: Second Minimum Node In a Binary Tree
·1 分鐘
LeetCode
Easy
Tree
Depth-First-Search
Binary-Tree
LeetCode 671 解題筆記:根就是最小值;第二小值是整棵樹裡第一個比根大的最小值,值等於根的子樹才需要往下找
LeetCode 653: Two Sum IV - Input is a BST
·1 分鐘
LeetCode
Easy
Hash-Table
Two-Pointers
Tree
Depth-First-Search
LeetCode 653 解題筆記:遍歷時用集合記看過的值,k - val 已經在集合裡就找到了