二叉树dfs操作
题目描述
1 | 给定一个非空二叉树,返回其最大路径和。 |
思路
利用一个子函数,求出每个节点最大深度路径和(做法类似求树的深度)
- 注意,因为节点中的值可能为负数,所以最大深度路径和不一定都会到达叶子
- 同样,最大深度路径和也可能为负数,此时应该返回 0
接着对每个节点,经过该节点的最大路径和为
1
该节点的值 + 左子树的最大深度路径和 + 右子树的最大深度路径和
空树的最大路径和应该为负无穷(作为递归基);
C++
代码实现:
1 | class Solution { |
悟已往之不谏,知来者之可追。
二叉树dfs操作
题目描述
1 | 给定一个非空二叉树,返回其最大路径和。 |
思路
利用一个子函数,求出每个节点最大深度路径和(做法类似求树的深度)
接着对每个节点,经过该节点的最大路径和为
1 | 该节点的值 + 左子树的最大深度路径和 + 右子树的最大深度路径和 |
空树的最大路径和应该为负无穷(作为递归基);
C++
代码实现:
1 | class Solution { |
微信支付
支付宝