回溯的模板代码与N叉树十分类似,首先我们先来看下N叉树的遍历过程 public class NTree { int val; List<NTree> children; public void travel(NTree root){ if(root==null){ return; } System.out.println(root.val); for(NTree child : root.children){ travel(child); } } } N叉树的遍历一个递归的过程,其实,回溯本质上就是递归+局部枚举+放下前任。我们再来看下回溯的模版 void backTracking(参数){ if(终止条件){ 存储结果; return; } for(选择本层集合中的元素){ 处理元素; backTracking(参数); 回溯,撤销处理结果; } } 问题描述 问题分析 代码实现 public List<String> binaryTreePaths(TreeNode root) { List<String> resultList = new...