本文共 1038 字,大约阅读时间需要 3 分钟。
题目:输入一个整数和一棵二元树。};
思路:递归遍历的同时回溯,用一个数组存放路径
import java.util.ArrayList;/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/public class Solution { private ArrayList> listAll = new ArrayList >(); private ArrayList list = new ArrayList (); public ArrayList > FindPath(TreeNode root,int target) { if(root == null) return listAll; list.add(root.val); target -= root.val; if(target == 0 && root.left == null && root.right == null) listAll.add(new ArrayList (list)); FindPath(root.left, target); FindPath(root.right, target); list.remove(list.size()-1); return listAll; }}
转载地址:http://jomvb.baihongyu.com/