二叉树中和为某值的路径
作者:互联网
//思路:回溯法(先序遍历+路径记录)
//关于回溯法的模板网上很多,大家可以去查一下
class Solution {
LinkedList<List<Integer>> res = new LinkedList<>();
LinkedList<Integer> path = new LinkedList<>();
public List<List<Integer>> pathSum(TreeNode root, int sum) {
recur(root, sum);
return res;
}
//回溯法模板
void recur(TreeNode root, int tar) {
if(root == null) return;
path.add(root.val);
tar -= root.val;
if(tar == 0 && root.left == null && root.right == null)
res.add(new LinkedList(path));
recur(root.left, tar);
recur(root.right, tar);
//撤销选择
path.removeLast();
}
}
标签:recur,LinkedList,tar,路径,某值,二叉树,path,null,root 来源: https://www.cnblogs.com/andrewlovemeimei/p/14513336.html