LeetCode 257. 二叉树的所有路径(Python)

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

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

示例:

输入:

   1
 /   \
2     3
 \
  5

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

思路:递归,将当前节点的数字加在此节点的左子树和右子树上

# 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]:
        result = list()

        if root == None:
            return result
        
        if root.left == None and root.right == None:
            result.append(str(root.val))
            return result
        
        leftStr = self.binaryTreePaths(root.left)
        for s in leftStr:
            result.append(str(root.val) + '->' + str(s))
        rightStr = self.binaryTreePaths(root.right)
        for s in rightStr:
            result.append(str(root.val) + '->' + str(s))
        
        return result
发布了88 篇原创文章 · 获赞 98 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/HNU_Csee_wjw/article/details/103549066
今日推荐