From 59ec3bc38ca292362786688aa676b6446ef69710 Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Fri, 30 Oct 2026 20:18:02 +0800 Subject: [PATCH] =?UTF-8?q?Update=2034.=20=E4=BA=8C=E5=8F=89=E6=A0=91?= =?UTF-8?q?=E4=B8=AD=E5=92=8C=E4=B8=BA=E6=9F=90=E4=B8=80=E5=80=BC=E7=9A=84?= =?UTF-8?q?=E8=B7=AF=E5=BE=84.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 补充深度优先遍历与回溯解法的思路说明,并补充叶节点判断及负数节点处理的注意事项。 --- notes/34. 二叉树中和为某一值的路径.md | 4 ++++ 1 file changed, 4 insertions(+) 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<>();