欢迎光临散文网 会员登陆 & 注册

Leetcode Day13 3

2022-04-14 20:35 作者:我喜欢喝一点点  | 我要投稿

剑指 Offer 32 - II. 从上到下打印二叉树 II

从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。


 


例如:

给定二叉树: [3,9,20,null,null,15,7],


    3

   / \

  9  20

    /  \

   15   7

返回其层次遍历结果:


[

  [3],

  [9,20],

  [15,7]

]


这道题不一样的是要按层来输出列表,因此要先获得层里面节点的个数然后放到暂存的列表中。

# Definition for a binary tree node.

# class TreeNode:

#     def __init__(self, x):

#         self.val = x

#         self.left = None

#         self.right = None


class Solution:

    def levelOrder(self, root: TreeNode) -> List[int]:

        if not root:return []

        res=[]

        q=[]

        q.append(root)

        while q:

            tmp=[]

            l=len(q)

            for i in range(l):

                node=q.pop(0)

                tmp.append(node.val)

                if node.left:

                    q.append(node.left)

                if node.right:

                    q.append(node.right)

            res.append(tmp)

        return res




Leetcode Day13 3的评论 (共 条)

分享到微博请遵守国家法律