diff --git a/notes/34. 二叉树中和为某一值的路径.md b/notes/34. 二叉树中和为某一值的路径.md index 2c0ee03e..55fb1fa8 100644 --- a/notes/34. 二叉树中和为某一值的路径.md +++ b/notes/34. 二叉树中和为某一值的路径.md @@ -12,6 +12,10 @@ ## 解题思路 +从根开始深度优先遍历,path 记录根到当前节点的路径,target 每经过一个节点就减去它的值。到达叶节点且 target 恰好为 0 时,把 path 的副本加入结果。递归返回前删除 path 的最后一个节点(回溯),使 path 回到父节点时的状态。 + +需要注意的是只有到叶节点才判断:节点值可能为负数,路径和中途等于 target 时后面还可能变化,也不能提前停止。 + ```java private List> ret = new ArrayList<>();