leetcode-二叉树中的最大路径和-80
Posted 天津 唐秙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode-二叉树中的最大路径和-80相关的知识,希望对你有一定的参考价值。
题目要求
二叉树里面的路径被定义为:从该树的任意节点出发,经过父=>子或者子=>父的连接,达到任意节点的序列。
注意:
1.同一个节点在一条二叉树路径里中最多出现一次
2.一条路径至少包含一个节点,且不一定经过根节点
给定一个二叉树的根节点root,请你计算它的最大路径和
代码实现
class Solution {
public:
int maxValue;
int maxPathSum(TreeNode* root) {
// write code here
maxValue = INT_MIN;
maxSum(root);
return maxValue;
}
int maxSum(TreeNode* root)
{
if(root == nullptr)
return 0;
int lmax = max(0, maxSum(root->left));
int rmax = max(0, maxSum(root->right));
maxValue = max(maxValue, lmax + rmax + root->val);
return max(lmax, rmax) + root->val;
}
};
以上是关于leetcode-二叉树中的最大路径和-80的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode第124题—二叉树中的最大路径和—Python实现