Leetcode#124 Binary Tree Maximum Path Sum
2015-01-21 12:00
357 查看
原题地址
假设我们找到了一个最优路径,那么该路径上一定存在一个节点,左边的路径是它的左儿子,右边的路径是它的右儿子。所以,只需要在遍历二叉树求路径的同时更新最大值即可。maxPath = max{只保留左边路径,只保留右边路径,同时保留左右两边路径,左右两边路径都不保留(只有节点本身)},对应第8行无数个max...
代码:
假设我们找到了一个最优路径,那么该路径上一定存在一个节点,左边的路径是它的左儿子,右边的路径是它的右儿子。所以,只需要在遍历二叉树求路径的同时更新最大值即可。maxPath = max{只保留左边路径,只保留右边路径,同时保留左右两边路径,左右两边路径都不保留(只有节点本身)},对应第8行无数个max...
代码:
int maxPath; int maxHalfPathSum(TreeNode *root) { if (!root) return 0; int l = maxHalfPathSum(root->left); int r = maxHalfPathSum(root->right); maxPath = max(maxPath, max(max(max(l, r), l + r), 0) + root->val); return max(max(l, r), 0) + root->val; } int maxPathSum(TreeNode *root) { if (!root) return 0; maxPath = root->val; maxHalfPathSum(root); return maxPath; }
相关文章推荐
- LeetCode: Binary Tree Maximum Path Sum [124]
- 124. Binary Tree Maximum Path Sum
- leetcode 124 —— Binary Tree Maximum Path Sum
- LeetCode 124: Binary Tree Maximum Path Sum
- 124. Binary Tree Maximum Path Sum
- leetcode[124]Binary Tree Maximum Path Sum
- [Leetcode 124, Hard] Binary Tree Maximum Path Sum
- 124. Binary Tree Maximum Path Sum
- LeetCode 124: Binary Tree Maximum Path Sum 树形动态规划
- 124:Binary Tree Maximum Path Sum【树】【DFS】
- Leetcode 124 Binary Tree Maximum Path Sum
- 124. Binary Tree Maximum Path Sum
- LeetCode 124 Binary Tree Maximum Path Sum (树的直径 DFS 推荐)
- [124]. Binary Tree Maximum Path Sum, [543]. Diameter of Binary Tree
- [leetcode-124]Binary Tree Maximum Path Sum(c++)
- FTPrep, 124 Binary Tree Maximum Path Sum
- LeetCode 124 Binary Tree Maximum Path Sum
- 124. Binary Tree Maximum Path Sum
- 124. Binary Tree Maximum Path Sum
- LeetCode 124: Binary Tree Maximum Path Sum