二叉树的最大路径和 II--要求开始于根节点--则 先加上根节点,再递归左右子树。
2016-05-03 21:48
507 查看
给一棵二叉树,找出从根节点出发的路径中,和最大的一条。
这条路径可以在任何二叉树中的节点结束,但是必须包含至少一个点(也就是根了)。
您在真实的面试中是否遇到过这个题?
Yes
样例
给出如下的二叉树:
返回
这条路径可以在任何二叉树中的节点结束,但是必须包含至少一个点(也就是根了)。
您在真实的面试中是否遇到过这个题?
Yes
样例
给出如下的二叉树:
1 / \ 2 3
返回
4。(最大的路径为1→3)
int maxSum=INT_MIN; void process(TreeNode *root,int sum){ if(root == NULL) return; sum += root->val;//往下经过 要加上该点的val maxSum=max(maxSum,sum); process(root->left,sum); process(root->right,sum); sum -= root->val;//往上回父节点 要减去该点的val } int maxPathSum2(TreeNode *root) { if(root == NULL) return 0; maxSum=root->val; int sum=0; process(root,sum); return maxSum; }
相关文章推荐
- DFS模板Oil Deposits
- JavaScript 不用eval制作简易计算器
- java为什么要使用接口回调
- Linux下undefined reference to ‘pthread_create’问题解决
- LeetCode Copy List with Random Pointer
- android自定义View之复合控件
- Command调用存储过程小实例
- 作业7: 用户体验设计案例分析
- spark collect遍历
- net user
- Problem B: 迭代法求平方根
- c语言简易计算器
- 将属性文件以key-value值形式输出的工具类
- hdu4293
- LeetCode 之 Remove Duplicates from Sorted Array
- 便宜好用的RapidSSL
- 实现线程的两种方式
- 剑指Offer--034-丑数
- django框架从零开始_004_数据库_API
- DP83848 跑10M能行,跑100M不行 的原因