输出所有到叶子节点的路径 回溯写法
Posted yayun0516
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输出所有到叶子节点的路径 回溯写法相关的知识,希望对你有一定的参考价值。
List<List<Integer>> results = new ArrayList<>();
public List<List<Integer>> pathSum(TreeNode root, int sum)
List<Integer> list = new ArrayList<>();
dfs(root, sum, list);
return results;
private void dfs(TreeNode root, int sum, List<Integer> list)
if (root == null)
return;
int value = root.val;
System.out.println(value);
list.add(value);
sum -= value;
if (root.left == null && root.right == null)
results.add(new ArrayList<>(list));
if (root.left != null)
dfs(root.left, sum, list);
if (root.right != null)
dfs(root.right, sum, list);
list.remove(list.size() - 1);
以上是关于输出所有到叶子节点的路径 回溯写法的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 113. 路径总和 II(dfs,回溯,列表,二叉树,Java)