DFS

2018-06-09  本文已影响0人  卡卡写点东西
# 深度优先搜索,遍历所有路径
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
上一篇下一篇

猜你喜欢

热点阅读