chapter9-tree-algorithm
[TOC]
树算法
递归
1. 树的高度
1 | class TreeNode: |
2. 平衡树
1 | class Solution1: |
3. 两节点的最长路径
1 | class Solution2: |
4. 翻转树
1 | class Solution3: |
5. 归并两棵树
1 | class Solution4: |
6. 判断路径和是否等于一个数
1 | class Solution5: |
7. 统计路径和等于一个数的路径数量
1 | class Solution6: |
8. 子树
1 | class Solution7: |
9. 树的对称
1 | class Solution8: |
10. 最小路径
1 | class Solution9: |
11. 统计左叶子节点的和
1 | class Solution10: |
12. 相同节点值的最大路径长度
1 | class Solution11: |
13. 间隔遍历
1 | class Solution12: |
14. 找出二叉树中第二小的节点
1 | class Solution13: |
层次遍历
1. 一棵树每层节点的平均数
1 | class Solution14: |
2. 得到左下角的节点
1 | class Solution15: |
前中后序遍历
3. 非递归实现二叉树的前序遍历
4. 非递归实现二叉树的后序遍历
5. 非递归实现二叉树的中序遍历
1 | class Solution16: |
BST
1. 修剪二叉查找树
1 | class Solution17: |
2. 寻找二叉查找树的第 k 个元素
1 | class Solution18: |
3. 把二叉查找树每个节点的值都加上比它大的节点的值
1 | class Solution19: |
4. 二叉查找树的最近公共祖先
1 | class Solution21: |
5. 二叉树的最近公共祖先
1 | class Solution20: |
6. 从有序数组中构造二叉查找树
1 | class Solution22: |
7. 根据有序链表构造平衡的二叉查找树
1 |
|
7. 在二叉查找树中寻找两个节点,使它们的和为一个给定值
1 | class Solution24: |
8. 在二叉查找树中查找两个节点之差的最小绝对值
1 | class Solution25: |
9. 寻找二叉查找树中出现次数最多的值
1 | class Solution26: |
Trie
1. 实现一个 Trie
1 |
|
2. 实现一个 Trie,用来求前缀和
1 | class Node: |