Leetcode:Binary Tree Maximum Path Sum菜鸟解法
来源:互联网 发布:linux系统解压命令 编辑:程序博客网 时间:2024/06/06 02:45
做了很久的一题,以我很不成熟的想法,模模糊糊的感觉到要用动态规划,可是一直无法抽象出子问题
后面通过慢慢尝试,画图,稍微有了点想法。
对于任何一条路径,他一定有个最”高“的节点(也就是这条路径中最接近二叉树根节点的)
对于这个最高节点而言,通过他的所有路径中最大的只有四种可能(节点自身,节点自身+左支值,节点自身+右支值,节点自身+左支值+右支值)
我们可以找到这四个中的最大值,但是比如节点自身+左支值这种值不方便取得,所以我们让函数的返回值直接就是这个值,也即是返回值为
(左+节,右加节,节)中的最大值,也就是左支的值或右支的值,代码如下:
class Solution {public: int result=-2147483648; int maxPathSum(TreeNode *root) { nodeSum(root); return result; } int nodeSum(TreeNode *root){ int lval=0,rval=0; if(root==NULL) return 0; lval = nodeSum(root->left); rval = nodeSum(root->right); result = max(result,max(root->val,max(root->val+lval+rval,max(root->val+lval,root->val+rval)))); return max(root->val,max(root->val+lval,root->val+rval)); }};
0 0
- Leetcode:Binary Tree Maximum Path Sum菜鸟解法
- *****(leetcode) Binary Tree Maximum Path Sum (tree)
- LeetCode Binary Tree Maximum Path Sum
- [Leetcode] Binary Tree Maximum Path Sum
- [leetcode] Binary Tree Maximum Path Sum
- LeetCode Binary Tree Maximum Path Sum
- [LeetCode] Binary Tree Maximum Path Sum
- leetcode Binary Tree Maximum Path Sum
- 【leetcode】Binary Tree Maximum Path Sum
- LeetCode - Binary Tree Maximum Path Sum
- [LeetCode]Binary Tree Maximum Path Sum
- [Leetcode]Binary Tree Maximum Path Sum
- Leetcode: Binary Tree Maximum Path Sum
- LeetCode-Binary Tree Maximum Path Sum
- [leetcode] Binary Tree Maximum Path Sum
- LeetCode - Binary Tree Maximum Path Sum
- LeetCode 124: Binary Tree Maximum Path Sum
- 【Leetcode】Binary Tree Maximum Path Sum
- Cocos2d-x 3.0final -贪食蛇游戏案例(全)----沈大海
- Leetcode NO.46 Permutations
- 个人体会:编写自己的头文件
- 浮点数在计算机中存储方式
- 欢迎使用CSDN-markdown编辑器
- Leetcode:Binary Tree Maximum Path Sum菜鸟解法
- HTML代码- 显示访问者的IP地址
- requestFeature() must be called before adding content问题的解析
- HDU 4300 Clairewd’s message(初遇拓展KMP)
- IT用語辞書
- Fckeditor <= 2.4.2 的任意文件上传漏洞代码解析
- 浅谈DOM基础
- Ubuntu 14.04.2 LTS发布
- hdu 2025 查找最大的元素