LeetCode-257. Binary Tree Paths (Java)

来源:互联网 发布:mac air怎么有两个账户 编辑:程序博客网 时间:2024/06/16 09:42

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

For example, given the following binary tree:

   1 /   \2     3 \  5

All root-to-leaf paths are:

["1->2->5", "1->3"]

------------------------------------------------------------------------------------------------------------------------

题意

根据一个二叉树,找到其中所有到叶子节点的路径

思路

前序遍历二叉树,记录路径,然后当当前节点的左右孩子节点都为空时,添加到list中。

代码

public class Solution {    private static StringBuilder builder = new StringBuilder();    public List<String> binaryTreePaths(TreeNode root) {        if(root == null)return new ArrayList<String>();        List<String> list = new ArrayList<>();        inorder(root,"",list);        return list;    }    public static void inorder(TreeNode root,String path,List<String> list){    if(root == null)    return;                if(root.left == null && root.right == null){    list.add(path+root.val);    }        inorder(root.left,path+root.val+"->",list);    inorder(root.right,path+root.val+"->",list);    }}

原创粉丝点击