思路
字典序就是先序遍历顺序。
所以按字典序打印就好了,注意递归回溯,list.remove()
import java.util.ArrayList;
public class Solution {
ArrayList<ArrayList<Integer>> result=new ArrayList<ArrayList<Integer>>();
ArrayList<Integer> list=new ArrayList<Integer>();
public ArrayList<ArrayList<Integer>> FindPath(TreeNode root,int target) {
if(root==null){return result;}
target-=root.val;
list.add(root.val);
if(target==0 && root.left==null && root.right==null){
result.add(new ArrayList<Integer>(list));
}
FindPath(root.left,target);
FindPath(root.right,target);
list.remove(list.size()-1);//回溯
return result;
}
} 
京公网安备 11010502036488号