本文主要是介绍Leetcode257 二叉树的所有路径,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//
//递归法
public List<String> binaryTreePaths(TreeNode root) {List<String> list=new ArrayList<>();getPath(root,"",list);return list;}void getPath(TreeNode node,String path,List<String> paths){if(node!=null){//使用path作为参数,保证下次递归开始时依然保留当前的路径StringBuilder builder =new StringBuilder(path);builder.append(Integer.toString(node.val));if(node.left==null&&node.right==null){//叶子节点paths.add(builder.toString());//路径加入到list中}else{builder.append("->");getPath(node.left,builder.toString(),paths); getPath(node.right,builder.toString(),paths);}} }
//迭代法
这篇关于Leetcode257 二叉树的所有路径的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!