↓快轉到主要內容

Tree

LeetCode 637: Average of Levels in Binary Tree
·1 分鐘
LeetCode Easy Tree Depth-First-Search Breadth-First-Search Binary-Tree
LeetCode 637 解題筆記:層序遍歷,每層加總除以節點數
LeetCode 606: Construct String from Binary Tree
·1 分鐘
LeetCode Medium String Tree Depth-First-Search Binary-Tree
LeetCode 606 解題筆記:前序輸出,左子樹空但右子樹不空時要留一個空括號 (),右子樹空時可以省略
LeetCode 590: N-ary Tree Postorder Traversal
·1 分鐘
LeetCode Easy Stack Tree Depth-First-Search
LeetCode 590 解題筆記:後序是先每個小孩再自己;迭代時可以做「根、小孩由右到左」的前序再整個反轉
LeetCode 589: N-ary Tree Preorder Traversal
·1 分鐘
LeetCode Easy Stack Tree Depth-First-Search
LeetCode 589 解題筆記:N 叉樹的前序,先記錄自己,再依序處理每個小孩;遞迴結果要用 extend 攤平,不是 append 一個 list
LeetCode 572: Subtree of Another Tree
·1 分鐘
LeetCode Easy Tree Depth-First-Search String-Matching Binary-Tree
LeetCode 572 解題筆記:對 root 的每一個節點都檢查一次「以它為根的子樹跟 subRoot 是否相同」;遞迴時要呼叫 isSubtree,不是只比左右小孩
LeetCode 563: Binary Tree Tilt
·1 分鐘
LeetCode Easy Tree Depth-First-Search Binary-Tree Dp-on-Trees
LeetCode 563 解題筆記:後序回傳子樹的總和,每個節點的 tilt 是左右子樹總和的差,加進答案
LeetCode 559: Maximum Depth of N-ary Tree
·1 分鐘
LeetCode Easy Tree Depth-First-Search Breadth-First-Search
LeetCode 559 解題筆記:深度等於 1 加上所有小孩深度的最大值;沒有小孩時是 1
LeetCode 543: Diameter of Binary Tree
·1 分鐘
LeetCode Easy Tree Depth-First-Search Binary-Tree Dp-on-Trees
LeetCode 543 解題筆記:直徑可能不經過根;後序回傳高度,同時在每個節點用「左高 + 右高」更新答案;算的是邊數
LeetCode 530: Minimum Absolute Difference in BST
·1 分鐘
LeetCode Easy Tree Depth-First-Search Breadth-First-Search Binary-Search-Tree
LeetCode 530 解題筆記:BST 的中序是由小到大,最小差一定出現在中序相鄰的兩個值之間;記住前一個值逐一比較
LeetCode 501: Find Mode in Binary Search Tree
·1 分鐘
LeetCode Easy Tree Depth-First-Search Binary-Search-Tree Binary-Tree
LeetCode 501 解題筆記:BST 中序是排序的,相同的值會連在一起;中序時數目前這段的長度,比最大值大就重設答案,一樣大就加入
LeetCode 404: Sum of Left Leaves
·1 分鐘
LeetCode Easy Tree Depth-First-Search Breadth-First-Search Binary-Tree
LeetCode 404 解題筆記:DFS 時告訴小孩自己是不是左小孩,只有「是左小孩而且是葉子」才加
LeetCode 257: Binary Tree Paths
·1 分鐘
LeetCode Easy String Backtracking Tree Depth-First-Search
LeetCode 257 解題筆記:DFS 帶著目前的路徑字串往下,到葉子時把整條路徑加進答案