• 算法 dfs 二叉树的所有路径


    480. 二叉树的所有路径

    给一棵二叉树,找出从根节点到叶子节点的所有路径。

    Example

    样例 1:

    输入:{1,2,3,#,5}
    输出:["1->2->5","1->3"]
    解释:
       1
     /   
    2     3
     
      5
    

    样例 2:

    输入:{1,2}
    输出:["1->2"]
    解释:
       1
     /   
    2     

    """
    Definition of TreeNode:
    class TreeNode:
        def __init__(self, val):
            self.val = val
            self.left, self.right = None, None
    """
    
    class Solution:
        """
        @param root: the root of the binary tree
        @return: all root-to-leaf paths
        """
        def binaryTreePaths(self, root):
            # write your code here
            path = []
            result = []
            self.dfs(root, path, result)
            return result
        
        def dfs(self, root, path, result):
            if not root:
                return
            
            path.append(str(root.val))
            if root.left is None and root.right is None:
                result.append("->".join(path))
            else:            
                self.dfs(root.left, path, result)
                self.dfs(root.right, path, result)
            path.pop()
    

      

    还有使用分治实现的,jiuzhang给的:

    class Solution:
        """
        @param root: the root of the binary tree
        @return: all root-to-leaf paths
        """
        def binaryTreePaths(self, root):
            if root is None:
                return []
                
            if root.left is None and root.right is None:
                return [str(root.val)]
    
            leftPaths = self.binaryTreePaths(root.left)
            rightPaths = self.binaryTreePaths(root.right)
            
            paths = []
            for path in leftPaths + rightPaths:
                paths.append(str(root.val) + '->' + path)
                
            return paths
    

      

     
  • 相关阅读:
    [Matlab.Matrix] 作为判断条件
    [Matlab.GUI] 学习小结
    [Modelsim] 初识
    [Matlab] isnan
    [Matlab] round
    [VS2012] 无法查找或打开 PDB 文件
    [Matlab.GUI]初识
    表格特效代码全集中
    JAVASCRIPT基础
    第4天:调用样式表
  • 原文地址:https://www.cnblogs.com/bonelee/p/11610113.html
Copyright © 2020-2023  润新知