算法|二叉树的所有路径

二叉树的所有路径 题目 二叉树的所有路径( 力扣:257)
给定一个二叉树,返回所有从根节点到叶子节点的路径。
说明: 叶子节点是指没有子节点的节点。
分析 【算法|二叉树的所有路径】递归遍历:

  1. root为空时,直接返回;
  2. 当左右子树都为空时,节点为叶子节点,将路径添加到结果数组。
  3. 分别递归遍历左右子树。
代码实现
/** * 257. 二叉树的所有路径 */ List pathList = new ArrayList<>(); public List binaryTreePaths(TreeNode root) { getPathsDfs(root, ""); return pathList; } private void getPathsDfs(TreeNode root, String pre){ if (root == null){ return; } if (root.left == null && root.right == null){ pathList.add(pre + root.val); } String str = pre + "->" + root.val; getPathsDfs(root.left, str); getPathsDfs(root.right, str); }

    推荐阅读