57. Leetcode 257. 二叉树的所有路径 (二叉树-二叉树路径和)
生活随笔
收集整理的這篇文章主要介紹了
57. Leetcode 257. 二叉树的所有路径 (二叉树-二叉树路径和)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給你一個二叉樹的根節點 root ,按 任意順序 ,返回所有從根節點到葉子節點的路徑。葉子節點 是指沒有子節點的節點。示例 1:
輸入:root = [1,2,3,null,5]
輸出:["1->2->5","1->3"]示例 2:
輸入:root = [1]
輸出:["1"]思路:我們維護一個隊列,存儲節點以及根到該節點的路徑。一開始這個隊列里只有根節點。在每一步迭代中,我們取出隊列中的首節點,如果它是一個葉子節點,則將它對應的路徑加入到答案中。
如果它不是一個葉子節點,則將它的所有孩子節點加入到隊列的末尾。當隊列為空時,迭代結束。# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:def binaryTreePaths(self, root: TreeNode) -> List[str]:if root == None:return Noneres = []queue = [(root, '')]while queue:length = len(queue)for _ in range(length):node, temp = queue.pop(0)temp += str(node.val)if node.left == None and node.right == None:res.append(temp)temp += "->"if node.left != None:queue.append((node.left, temp))if node.right != None:queue.append((node.right, temp))return res
總結
以上是生活随笔為你收集整理的57. Leetcode 257. 二叉树的所有路径 (二叉树-二叉树路径和)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 54. Leetcode 113. 路径
- 下一篇: 59. Leetcode 81. 搜索旋