二叉树中和为某一值得路径

 ArrayList<ArrayList<Integer>> arrayList = new ArrayList<>();
    ArrayList<Integer> list = new ArrayList<>();
    public ArrayList<ArrayList<Integer>> FindPath(TreeNode root,int target) {
        if(root == null) return arrayList;
        list.add(root.val);
        target -= root.val;
        if(target==0&&root.left == null && root.right==null){
            arrayList.add(new ArrayList<Integer>(list));
        }
        FindPath(root.left,target);
        FindPath(root.right,target);
        list.remove(list.size()-1);
        return arrayList;
    }

 

posted @ 2016-09-07 10:31  樱圃  阅读(148)  评论(0编辑  收藏  举报