加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

【python-leetcode102-树的宽度遍历】二叉树的层次遍历

发布时间:2020-12-20 09:54:48 所属栏目:Python 来源:网络整理
导读:问题描述: 给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 例如: 给定二叉树:?[3,9,20,null,15,7], 3 / 9 20 ? ? / ? 15 7 返回其层次遍历结果: [ [3], [9,20], [15,7] ] ? 代码: # Definition for a binary tree

问题描述:

给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。

例如:
给定二叉树:?[3,9,20,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[List[int]]:
        if not root:
            return []
        queue=[root]
        res=[]
        while queue:
            tmp=[] 
            for i in range(len(queue)):
                node=queue.pop(0)
                tmp.append(node.val)
                if node.left:
                    queue.append(node.left)
                 node.right:
                    queue.append(node.right)
            res.append(tmp)
        return res

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读