题意
计算二叉树路径累加值中和目标值相等
我的想法
递归实现,遍历整个树。计算出所有路径的值,计算到有相等的就暂停、
两个坑
可能是节点上可能是负数,所以不能通过判断当前和大于目标值来减少遍历的次数
必须到叶子节点上才能算一条完整的路线,半途中达到目标值不算。
1 | boolean flag = false; |
大神代码
反向思维。题目中提到路径上相加等于目标值,会让人产生一定要通过相加得到该值。然而大神通过减去节点值,实现了在hasPathSum函数的递归,仅用三行代码解决了问题。
1 | public class Solution { |