LCR 051. 二叉树中的最大路径和
题目描述
路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。
路径和 是路径中各节点值的总和。
给定一个二叉树的根节点 root
,返回其 最大路径和,即所有路径上节点值之和的最大值。
题目来源:来源:力扣(LeetCode)
题解
代码
1 | /** |
路径和是路径中各节点值的总和。没有要求两端一定是叶子结点!!!
所以就可以将题目变成一个简单的树型 dp。我们可以画图发现,每一个路径一定是有一个最高点,所以我们只要遍历每个最高点对应的路径的路径和,然后取其最大值既可。int dp(TreeNode * root)
求的是以 root
为根,包含根结点的路径和。