博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Binary Tree Maximum Path Sum 自底向上求解(重重重重)
阅读量:4106 次
发布时间:2019-05-25

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

题目:

解答:

自底向上求解。left_max right_max分别返回了左右子树的最大路径和,如果左右子树最大路径和小于0,那么返回零, 用这个最大路径和和根节点的值相加,来更新最大值,同时, 更新返回该树的最大路径值。

代码:

class Solution { public:	 int max = INT_MIN;	 int maxPathSum(TreeNode *root) {		 if (root == NULL)			 return 0;		 search(root);		 return max;	 }	 int search(TreeNode *root)	 {		 if (root == NULL)			 return 0;		 int left_max = search(root->left);		 int right_max = search(root->right);		 int sum = left_max + right_max + root->val;		 if (sum > max)			 max = sum;		 sum = left_max > right_max ? left_max + root->val : right_max + root->val;		 if (sum > 0)			 return sum;		 return 0;	 } };

转载地址:http://rutsi.baihongyu.com/

你可能感兴趣的文章
Java基础篇(一)
查看>>
数据库
查看>>
mysql update与group by
查看>>
nginx反代 499 502 bad gateway 和timeout
查看>>
linux虚拟机安装tar.gz版jdk步骤详解
查看>>
python猜拳游戏
查看>>
python实现100以内自然数之和,偶数之和
查看>>
python数字逆序输出及多个print输出在同一行
查看>>
ESP8266 WIFI数传 Pixhaw折腾笔记
查看>>
苏宁产品经理面经
查看>>
百度产品经理群面
查看>>
去哪儿一面+平安科技二面+hr面+贝贝一面+二面产品面经
查看>>
element ui 弹窗在IE11中关闭时闪现问题修复
查看>>
vue 遍历对象并动态绑定在下拉列表中
查看>>
Vue动态生成el-checkbox点击无法选中的解决方法
查看>>
python __future__
查看>>
MySQL Tricks1
查看>>
python 变量作用域问题(经典坑)
查看>>
pytorch
查看>>
pytorch(二)
查看>>