剑指offer:第25题二叉树和为某一值得路径

来源:互联网 发布:淘宝竹鸡打笼 编辑:程序博客网 时间:2024/06/08 18:11
//思路:可以利用全路径逐层递减,在用递归来寻找路径import java.util.ArrayList;import java.util.List;public class _Test_25_2 {    ArrayList<ArrayList<Integer>> arrayListall = new ArrayList<ArrayList<Integer>>();    ArrayList<Integer> arrayList = new ArrayList<Integer>();    private ArrayList<ArrayList<Integer>> findPath(TreeNode root,int target) {        if (root == null) {            return arrayListall;        }        arrayList.add(root.val);        target -= root.val;        if (target == 0 && root.left == null && root.right == null) {            arrayListall.add(new ArrayList<Integer>(arrayList));        }        if(root.left!=null) findPath(root.left, target);        if(root.right!=null) findPath(root.right, target);        arrayListall.remove(arrayList.size() - 1);        return arrayListall;    }}