题解 | #二叉树中和为某一值的路径(二)#
二叉树中和为某一值的路径(二)
https://www.nowcoder.com/practice/b736e784e3e34731af99065031301bca
import java.util.*; /** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ public class Solution { private ArrayList<ArrayList<Integer>> res = new ArrayList<>(); public ArrayList<ArrayList<Integer>> FindPath(TreeNode root, int expectNumber) { if (root == null) { return res; } dfs(root, expectNumber, new ArrayList<>()); return res; } private void dfs(TreeNode root, int target, List<Integer> list) { if (root == null) { return; } target -= root.val; list.add(root.val); if (root.left == null && root.right == null && target == 0) { res.add(new ArrayList<>(list)); } dfs(root.left, target, list); dfs(root.right, target, list); list.remove(list.size() - 1); } }