二叉树中和为某一值的门路
题目剖析
先序遍历+门路记录
题解
//每次递归了门路退出之后都要回复现场,不然就乱套了
//也就是说你54117之后满足条件退出门路了
//而后就会返回上一个节点,此时就须要把列表的最初一个值7删除,不然在间接加就是547112了就不对了
//得把最初一个pop进来能力往回回溯
留神
- 值得注意的是,记录门路时若间接执行 res.append(path) ,则是将 path 对象退出了 res ;后续 path 扭转时, res 中的 path 对象也会随之扭转。
- 正确做法:res.append(list(path)) ,相当于复制了一个 path 并退出到 res 。
- Java就是 new一个新对象 new LinkedList(path)