leetcode257二叉树的所有路径

leetcode 257 Binary Tree Paths

Posted by BY on August 12, 2020

前言

持续更新了

正文

问题来源

本问题来自leetcode上的257题。

问题描述

给定一个二叉树,返回所有从根节点到叶子节点的路径。
说明: 叶子节点是指没有子节点的节点。

示例 1:

输入:

   1
 /   \
2     3
 \
  5

输出: ["1->2->5", "1->3"]

解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3

分析:

去看官方题解

/**
 * Definition for a binary tree node.
 * type TreeNode struct {
 *     Val int
 *     Left *TreeNode
 *     Right *TreeNode
 * }
 */
func binaryTreePaths(root *TreeNode) []string {
    res := make([]string, 0)
    dfs(root, "", &res)
    return res
}

func dfs(root *TreeNode, cur string, res *[]string) {
    if root == nil {
        return
    }
    tmp := cur+strconv.Itoa(root.Val)
    if root.Left == nil && root.Right == nil {
        *res = append(*res, tmp)
        return
    }
    tmp += "->"
    dfs(root.Left, tmp, res)
    dfs(root.Right, tmp, res)
} 

总结:

勤思考。

结语

不管怎么样好好加油。