LeetCode 专题灵神算法
树形 DP - 直径系列
视频精讲:树形 DP - 直径系列
| 题目 | 代码 | 备注 |
|---|---|---|
| 543. 二叉树的直径 | 代码 | |
| 124. 二叉树中的最大路径和 | 代码 | |
| 2246. 相邻字符不同的最长路径 | 代码 | |
| 687. 最长同值路径 | 代码 | *课后作业 |
| 3203. 合并两棵树后的最小直径 | 代码 | *课后作业 |
| 1617. 统计子树中城市之间最大距离 | 代码 | *课后作业 |
| 2538. 最大价值和与最小价值和的差值 | 代码 | *课后作业 |
题意与示例
543. 二叉树的直径
题目链接:求二叉树任意两个节点之间最长路径的边数。
示例:输入
root = [1,2,3,4,5],输出3。
124. 二叉树中的最大路径和
题目链接:求二叉树中任意一条不重复节点路径的最大节点值之和。
示例:输入
root = [1,2,3],输出6。
2246. 相邻字符不同的最长路径
题目链接:在字符树中求相邻节点字符都不同的最长路径节点数。
示例:输入
parent = [-1,0,0,1,1,2], s = "abacbe",输出3。
687. 最长同值路径
题目链接:求二叉树中所有节点值相同的最长路径边数。
示例:输入
root = [5,4,5,1,1,5],输出2。
3203. 合并两棵树后的最小直径
题目链接:在两棵树之间添加一条边,求合并后树的最小可能直径。
示例:输入
edges1 = [[0,1],[0,2],[0,3]], edges2 = [[0,1]],输出3。
1617. 统计子树中城市之间最大距离
题目链接:对每个距离 d,统计直径恰好为 d 的连通城市子集数量。
示例:输入
n = 4, edges = [[1,2],[2,3],[2,4]],输出[3,4,0]。
2538. 最大价值和与最小价值和的差值
题目链接:选择树根后计算根出发路径的最大与最小价值和之差,求所有根中的最大差值。
示例:输入
n = 6, edges = [[0,1],[1,2],[1,3],[3,4],[3,5]], price = [9,8,7,6,10,5],输出24。
评论