DFS

  • 二叉树根节点到所有叶子节点的路径 Binary Tree Paths
# 深度优先搜索,遍历所有路径
class Solution(object):
    def binaryTreePaths(self, root):
        """
        :type root: TreeNode
        :rtype: List[str]
        """
        res = []
        if root is None:
            return res
    
    
        def helper(node, pre_path, res):
            if node.left is None and node.right is None:
                res.append(pre_path + str(node.val))
            if node.left:
                left_pre_path = pre_path + str(node.val) + "->"
                helper(node.left, left_pre_path, res)
            if node.right:
                right_pre_path = pre_path + str(node.val) + "->"
                helper(node.right, right_pre_path, res)
        

        helper(root, "", res)
        
        return res

你可能感兴趣的:(DFS)