public void printPath (Node root, List<Integer> list, int sum) {
if (root == null)
return;
if (root.left == null && root.right == null && sum == root.val) {
System.out.println(sum);
return;
}
else if (root.left == null && root.right == null && sum != root.val)
return;
list.add(root.val);
if (root.left != null)
printPath(root.left, list, sum - root.val);
if (root.right != null)
printPath(root.right, list, sum - root.val);
}
想法是添加一个list进去,最后在叶子节点的时候进行判断和打印。