Leetcode分類-樹

題型分類------樹

一、樹的遍歷
1. Binary Tree Preorder Traversal: 使用遞歸和非遞歸 前序遍歷,主要考察非遞歸;
2. Binary Tree Inorder Traversal: 使用遞歸和非遞歸 中序遍歷,主要考察非遞歸;
3. Binary Tree Postorder Traversal: 使用遞歸和非遞歸 後序遍歷,主要考察非遞歸;
4. Binary Tree Level Order Traversal: 層次遍歷二叉樹;
5. Binary Tree Level Order Traversal II: 層次遍歷二叉樹, 但是從最下一層開始往上輸出(從下到上,從左到右);

二、路徑和
6. Path Sum: 給一個二叉樹和一個數,判斷二叉樹中是否包含一個路徑使其路徑和等於所給的數;
7. Path Sum II:給一個二叉樹和一個數,找出所有和等於該數的路徑(從根到葉子);
8. Sum Root to Leaf Numbers: 給一個二叉樹,其結點只包含0-9的數字,每條從根到葉子節點的路徑組成一個數字(如1->2->3, 代表數字123),求所有路徑的和;
9. Binary Tree Maximum Path Sum: 求二叉樹的最大路徑和, 路徑可以從樹中任何結點開始並在任何結點結束;

三、深度
10. Minimum Depth of Binary Tree: 給一個二叉樹,求出他的最小深度;
11. Maximum Depth of Binary Tree: 給一個二叉樹,求出他的最大深度;
12. Balanced Binary Tree: 判斷給出的二叉樹是否是平衡二叉樹;

四、生成和重建平衡二叉樹
13. Convert Sorted List to Binary Search Tree: 給一個按升序排序的單鏈表,將其轉化爲一個平衡二叉樹;
14. Convert Sorted Array to Binary Search Tree: 給一個按升序排序數組,將其轉化爲一個平衡二叉樹;
15. Construct Binary Tree from Inorder and Postorder Traversal
16. Construct Binary Tree from Preorder and Inorder Traversal
17. Flatten Binary Tree to Linked List
補充:將二叉搜索樹轉換成有序的雙向鏈表,不能創建任何新結點。

五、樹的性質判斷——對稱,相同
18. Symmetric Tree: 判斷一個數是否是對稱樹;
19. Same Tree: 判斷兩個二叉樹是否是相同的樹;
20. Recover Binary Search Tree: 二叉搜索樹的兩個節點被交換了,要求修正
21. Validate Binary Search Tree: 驗證樹是否爲二叉搜索樹,此題需要想清楚,有陷阱
22. Unique Binary Search Trees: Catalan 數
23. Unique Binary Search Trees II: 構造不同構的BST(Balanced Search Tree)。

六、層次遍歷樹
24. Populating Next Right Pointers in Each Node: 給二叉樹加一個next指針,使其指向其右邊的結點,即將二叉樹的每一層用next指針連起來。
25. Populating Next Right Pointers in Each Node II:
26. Binary Tree Zigzag Level Order Traversal : 給一個二叉樹,要求先從左往右,在從右往左,依次遍歷(成”之“字形層次遍歷);
發佈了107 篇原創文章 · 獲贊 7 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章