声明:
今天是第67道题。给定一个二叉树,返回所有从根节点到叶子节点的路径。以下所有代码经过楼主验证都能在LeetCode上执行成功,代码也是借鉴别人的,在文末会附上参考的博客链接,如果侵犯了博主的相关权益,请联系我删除
(手动比心ღ( ´・ᴗ・` ))
正文
题目:给定一个二叉树,返回所有从根节点到叶子节点的路径。
说明: 叶子节点是指没有子节点的节点。
示例:
输入: 1 / \ 2 3 \ 5 输出: ["1->2->5", "1->3"] 解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3
解法1。
执行用时: 32 ms, 在Binary Tree Paths的Python提交中击败了82.28% 的用户
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def binaryTreePaths(self, root):
"""
:type root: TreeNode
:rtype: List[str]
"""
if not root:
return [] #题目要求为空时的返回结果
path = ''
result = []
self.binaryTreePathsHelper(root,path,result)
return result
def binaryTreePathsHelper(self,root,path,result):
if not root:
return
path += str(root.val)
if root.left:
binaryTreePathsHelper(root.left,path+'->',result)
if root.right:
binaryTreePathsHelper(root.right,path+'->',result)
if root.left is None and root.right is None:
result.append(path)
结尾
解法1:https://blog.csdn.net/yurenguowang/article/details/77678894