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

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

Binary Tree Maximum Path Sum

Given a binary tree, find the maximum path sum.

The path may start and end at any node in the tree.

For example:

Given the below binary tree,

1      / \     2   3

 

Return 6.

 

二叉树后序历遍的变形。

 

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 result;13     inline bool has_left(TreeNode *root) {14         return NULL != root->left;15     }16     inline bool has_right(TreeNode *root) {17         return NULL != root->right;18     }19     void trace_last(TreeNode *pnode) {20         int tmpv = pnode->val, tmplv = pnode->val, tmprv = pnode->val, tmpresult = -INT_MAX;21         if (has_left(pnode)) {22             trace_last(pnode->left);23             tmplv = max
(tmpv, pnode->val + pnode->left->val);24 }25 if (has_right(pnode)) {26 trace_last(pnode->right);27 tmprv = max
(tmpv, pnode->val + pnode->right->val);28 }29 tmpresult = max
(max
(tmpv, tmplv + tmprv - tmpv), max
(tmplv, tmprv));30 if (tmpresult > result) {31 result = tmpresult;32 }33 pnode->val = max
(max
(tmplv, tmprv), tmpv);34 }35 int maxPathSum(TreeNode *root) {36 // Start typing your C/C++ solution below37 // DO NOT write int main() function38 result = -INT_MAX;39 trace_last(root);40 return result;41 }42 };
View Code

 

转载于:https://www.cnblogs.com/leon-wang/p/3288485.html

你可能感兴趣的文章
Windows Phone 7你不知道的8件事
查看>>
脚本删除文件下的文件
查看>>
实用拜占庭容错算法PBFT
查看>>
java的二叉树树一层层输出,Java构造二叉树、树形结构先序遍历、中序遍历、后序遍历...
查看>>
php仿阿里巴巴,php实现的仿阿里巴巴实现同类产品翻页
查看>>
Node 中异常收集与监控
查看>>
七丶Python字典
查看>>
Excel-基本操作
查看>>
面对问题,如何去分析?(分析套路)
查看>>
Excel-逻辑函数
查看>>
面对问题,如何去分析?(日报问题)
查看>>
数据分析-业务知识
查看>>
nodejs vs python
查看>>
poj-1410 Intersection
查看>>
Java多线程基础(一)
查看>>
TCP粘包拆包问题
查看>>
Java中Runnable和Thread的区别
查看>>
SQL Server中利用正则表达式替换字符串
查看>>
POJ 1015 Jury Compromise(双塔dp)
查看>>
论三星输入法的好坏
查看>>