思路
字典序就是先序遍历顺序。
所以按字典序打印就好了,注意递归回溯,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; } }