当前位置 : 首页 » 文章分类 :  算法  »  LeetCode.257.Binary Tree Paths 输出二叉树的所有路径

LeetCode.257.Binary Tree Paths 输出二叉树的所有路径

题目描述

257 Binary Tree Paths
https://leetcode-cn.com/problems/binary-tree-paths/

Given a binary tree, return all root-to-leaf paths.

Note: A leaf is a node with no children.

Example:

Input:
   1
 /   \
2     3
 \
  5
Output: ["1->2->5", "1->3"]
Explanation: All root-to-leaf paths are: 1->2->5, 1->3

解题过程

输出二叉树的所有从根到叶子的路径,可以用递归,求出左右子树的路径后再拼接上根节点即可。

public List<String> binaryTreePaths(TreeNode root) {
    List<String> result = new ArrayList<>();
    if (null == root) {
        return result;
    }
    if (null == root.left && null == root.right) {
        result.add(String.valueOf(root.val));
        return result;
    }
    binaryTreePaths(root.left).forEach(subPath -> result.add(root.val + "->" + subPath));
    binaryTreePaths(root.right).forEach(subPath -> result.add(root.val + "->" + subPath));
    return result;
}

GitHub代码

algorithms/leetcode/leetcode/_257_BinaryTreePaths.java
https://github.com/masikkk/algorithms/blob/master/leetcode/leetcode/_257_BinaryTreePaths.java


上一篇 LeetCode.404.Sum of Left Leaves 二叉树的左叶子和

下一篇 LeetCode.236.Lowest Common Ancestor of a Binary Tree 二叉树的最近公共祖先

阅读
评论
198
阅读预计1分钟
创建日期 2020-01-27
修改日期 2020-01-27
类别

页面信息

location:
protocol:
host:
hostname:
origin:
pathname:
href:
document:
referrer:
navigator:
platform:
userAgent:

评论