二叉树中和为某一值的路径

image.png

题目分析

先序遍历+路径记录

image.png
image.png

题解

image.png

//每次递归了路径加入之后都要回复现场,不然就乱套了
//也就是说你54117之后满足条件加入路径了
//然后就会返回上一个节点,此时就需要把列表的最后一个值7删除,不然在直接加就是547112了就不对了
//得把最后一个pop出去才能往回回溯
注意

  • 值得注意的是,记录路径时若直接执行 res.append(path) ,则是将 path 对象加入了 res ;后续 path 改变时, res 中的 path 对象也会随之改变。
  • 正确做法:res.append(list(path)) ,相当于复制了一个 path 并加入到 res 。
  • Java就是 new一个新对象 new LinkedList(path)

Loccy
4 声望1 粉丝