leetcode-102-Binary Tree Level Order Traversal

102. 二叉树的层次遍历

题目描述

给定一个二叉树,返回其按层次遍历的节点值。 (即zhu'ceng'de,从左到右访问)。

例如:

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

3    / \   9  20
/  \    15   7 返回其层次遍历结果为:

[ [3], [9,20], [15,7] ]

class Solution:
    def levelOrder(self, root):
        """
        :type root: TreeNode
        :rtype: List[List[int]]
        """
        if not root:
            return []
        values,nodes_level=[[root.val]],[root]
        while True:
            if not nodes_level:
                return [value_level for value_level in values if value_level]
            nodes_level=[kid for node in nodes_level for kid in (node.left,node.right) if kid]
            values.append([node.val for node in nodes_level])
    原文作者:龙仔
    原文地址: https://segmentfault.com/a/1190000014061130
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞