124.leetcode Binary Tree Maximum Path Sum(hard)[先序遍历]
来源:互联网 发布:matlab矩阵归一化函数 编辑:程序博客网 时间:2024/05/21 04:24
Given a binary tree, find the maximum path sum.
For this problem, a path is defined as any sequence of nodes from some starting node to any node in the tree along the parent-child connections. The path does not need to go through the root.
For example:
Given the below binary tree,
1 / \ 2 3
Return 6
.
要求从一个节点到另一个节点的最大和值,那么对于每个节点获取通过该节点得到的最大的值= root->val+左边最大和值+左边最大和值,如果和值都<0那么就只有当前节点会最大。getSum返回的是经过该节点的一条单路径的最大值,不能同时加上左右两边的值,因为这个值作为返回值上层才是转折点。
class Solution {public: int max; int getmax(int a,int b) { if(a>=b) return a; else return b; } int getSum(TreeNode* root) { int value = root->val; int lmax = 0,rmax = 0; if(root->left != NULL) { lmax = getSum(root->left); if(lmax>0) value += lmax; } if(root->right != NULL) { rmax = getSum(root->right); if(rmax>0) value += rmax; } if(value>max) max = value; return getmax(root->val,getmax(root->val+lmax,root->val+rmax)); } int maxPathSum(TreeNode* root) { if(root == NULL) return 0; max = root->val; getSum(root); return max; }};
0 0
- 124.leetcode Binary Tree Maximum Path Sum(hard)[先序遍历]
- leetcode 124. Binary Tree Maximum Path Sum(Hard)
- Leetcode 124. Binary Tree Maximum Path Sum[hard]
- Leetcode 124. Binary Tree Maximum Path Sum (Hard) (cpp)
- [Leetcode 124, Hard] Binary Tree Maximum Path Sum
- 【Leetcode-Hard-124】Binary Tree Maximum Path Sum
- LeetCode 124. Binary Tree Maximum Path Sum
- [LeetCode]*124.Binary Tree Maximum Path Sum
- [Leetcode] 124. Binary Tree Maximum Path Sum
- [leetcode] 124. Binary Tree Maximum Path Sum
- [leetcode] 124. Binary Tree Maximum Path Sum
- Leetcode 124. Binary Tree Maximum Path Sum
- Leetcode 124. Binary Tree Maximum Path Sum
- LeetCode 124. Binary Tree Maximum Path Sum
- leetcode 124. Binary Tree Maximum Path Sum
- LeetCode 124. Binary Tree Maximum Path Sum
- Leetcode 124. Binary Tree Maximum Path Sum
- [LeetCode] 124. Binary Tree Maximum Path Sum
- MFC控件(10): Date Time Picker-使用及日期运算
- ZZNU 1991 (结构体排序)
- Hbase 0.96后Result对象遍历方式
- MongoDB 安装以及使用
- 内联函数与宏的区别
- 124.leetcode Binary Tree Maximum Path Sum(hard)[先序遍历]
- 自己动手实现优先级队列
- Console命令详解,让调试js代码变得更简单
- JAVASE总结--集合
- UNITY之背包管理
- PHP 短信验证功能模块
- NGUI和可视化添加按钮注册事件效果相同的代码
- 如何使用多功能影像测量系统测量瓷片长宽尺寸
- MFC 不要让Cdialog子窗体位于最前,取消子窗体位于父窗体前面,取消非模态对话框最前面