class Solution {
public:
int max_sum=INT32_MIN;
int maxpath(TreeNode* root)
{
if(root==NULL)
return 0;
int leftvalue=max(0,maxpath(root->left));
int rightvalue=max(0,maxpath(root->right));
int pathvalue=root->val+leftvalue+rightvalue;
if(pathvalue>max_sum)
max_sum=pathvalue;
return root->val+max(leftvalue,rightvalue);
}
int maxPathSum(TreeNode* root)
{
maxpath(root);
return max_sum;
}
};
leetcode 124
最新推荐文章于 2024-08-14 09:54:52 发布
本文介绍了一个解决二叉树最大路径和问题的算法,通过递归方式遍历二叉树,计算从根节点到任意叶子节点的最大路径和。算法使用了C++语言实现,展示了如何在遍历过程中更新全局变量以保存最大路径和。
697

被折叠的 条评论
为什么被折叠?



