博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode – Refresh – Binary Tree Maximum Path Sum
阅读量:6476 次
发布时间:2019-06-23

本文共 1069 字,大约阅读时间需要 3 分钟。

Use lMax get the maximum value of a sub SINGLE branch (left branch or right branch or just current node).

Use gMax get the maximum value of the whole sub branch (include current node). So gMax need to pass by reference.

 

1 /** 2  * Definition for binary tree 3  * struct TreeNode { 4  *     int val; 5  *     TreeNode *left; 6  *     TreeNode *right; 7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} 8  * }; 9  */10 class Solution {11 public:12     int getSum(TreeNode *root, int &gMax) {13         if (!root) return 0;14         int lValue = getSum(root->left, gMax), rValue = getSum(root->right, gMax), total = root->val;15         total += lValue > 0 ? lValue : 0;16         total += rValue > 0 ? rValue : 0;17         gMax = max(total, gMax);18         return max(max(root->val, root->val + lValue), root->val + rValue);19     }20     int maxPathSum(TreeNode *root) {21         int gMax = INT_MIN, lMax = INT_MIN;22         lMax = getSum(root, gMax);23         return max(lMax, gMax);24     }25 };

 

转载于:https://www.cnblogs.com/shuashuashua/p/4346183.html

你可能感兴趣的文章
lua 2
查看>>
linux php多版本
查看>>
06任务开启线程task, 任务开启不能带参数
查看>>
bootstrap
查看>>
1592: [Usaco2008 Feb]Making the Grade 路面修整
查看>>
对GCDAsyncSocket第三方的封装
查看>>
[译] Flutter 从 0 到 1
查看>>
从is(":checked")说起
查看>>
C语言 高斯-若尔当消元法
查看>>
3.SpringMVC介绍
查看>>
SQL Server Governor: The unknown hero
查看>>
Python学习(三) 输出任意格式的字符串以及字符串的切片
查看>>
初识数据库
查看>>
如何调试Apache的URL重写(转载收藏)
查看>>
【转载】julian-urbano/MelodyShape
查看>>
【转帖】MIT人工智能实验室:如何做研究?
查看>>
vue-music 关于搜索历史本地存储
查看>>
JS中不存在块级作用域
查看>>
python爬虫知识点总结(八)Selenium库详解
查看>>
axios的坑
查看>>