给定一个二叉树,返回所有从根节点到叶子节点的路径。
说明: 叶子节点是指没有子节点的节点。
示例:
输入:
1
/
2 3
5
输出: [“1->2->5”, “1->3”]
解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/binary-tree-paths
class Solution:
def binaryTreePaths(self, root):
"""
:type root: TreeNode
:rtype: List[str]
"""
if not root:
return []
res, stack = [], [(root, "")]
while stack:
node, ls = stack.pop()
if not node.left and not node.right:
res.append(ls + str(node.val))
if node.left:
stack.append((node.left, ls + str(node.val) + "->"))
if node.right:
stack.append((node.right, ls + str(node.val) + "->"))
return res
理想007
发布了712 篇原创文章 · 获赞 204 · 访问量 6万+
私信
关注
标签:node,python,节点,二叉树,str,LeetCode,root,stack,ls
来源: https://blog.csdn.net/weixin_43838785/article/details/104564654