给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。
说明: 叶子节点是指没有子节点的节点。
示例:
输入:[5,4,8,11,null,13,4,7,2,null,null,5,1],22
输出:[ [5,4,11,2], [5,8,4,5] ]
题解:利用DFS回溯法遍历二叉树,同时记录当前路径的节点值总和,当达到一个叶子节点时,判断节点值总和是否等于目标和,如果等于,则得到一个结果。
class Solution {
/**
* {@code Deque<Integer>deque}用于记录路径
* {@code List<List<Integer>>res}用于记录结果
*/
private final Deque<Integer>deque=new