zoukankan      html  css  js  c++  java
  • 257. 二叉树的所有路径

    给定一个二叉树,返回所有从根节点到叶子节点的路径。

    说明: 叶子节点是指没有子节点的节点。

    示例:

    输入:

    1
    /
    2 3

    5

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

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

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/binary-tree-paths

    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution:
        def binaryTreePaths(self, root: TreeNode) -> List[str]:
            if not root:
                return []
            children=[root.left,root.right]
            if not any(children):
                return ['1']
            
            def dfs(root,path):
                if root:
                    path+=str(root.val)
                    if not root.left and not root.right:
                        res.append(path)
                    else:
                        path+='->'
                        dfs(root.left,path)
                        dfs(root.right,path)
    
            res=[]
            dfs(root,'')  
                
            return res

    ``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````

    # Definition for a binary tree node.
    # class TreeNode:
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution:
        def binaryTreePaths(self, root: TreeNode) -> List[str]:   
            def dfs(root,path):
                if root:
                    path+=str(root.val)
                    if not root.left and not root.right:
                        res.append(path)
                    else:
                        path+='->'
                        dfs(root.left,path)
                        dfs(root.right,path)
    
            res=[]
            dfs(root,'')  
                
            return res
     
  • 相关阅读:
    SSL 1579——泽泽在巴西
    SSL 1644——取数字问题
    SSL 1589——火车票
    SSL 1506——打鼹鼠
    SSL 1212——大厅安排
    洛谷 1064——金明的预算方案(动态规划的背包问题)
    SSL 1463——公共子串
    SSL 1461——最大连续数列的和
    SSL 1643——最小乘车费用
    SSL 1460——最小代价问题
  • 原文地址:https://www.cnblogs.com/xxxsans/p/13611790.html
Copyright © 2011-2022 走看看