美文网首页
leetcode 102. 二叉树的层次遍历

leetcode 102. 二叉树的层次遍历

作者: fanchuang | 来源:发表于2020-01-14 22:52 被阅读0次

    加深理解。

    # 二叉树的层次遍历,深入了解一下。把层数也带进去。
    # 参看官网题解。
    
    def solve(root):
        layers = []
        if not root:
            return layers
    
        layer = 0
        deque = [root]
        while deque:
            layers.append([])           # 先从当前这个root层开始。这里还只是初始化一个子列表。
            layer_length = len(deque)
    
            # 这里使用了一个 for 循环,这样就把每一层很清晰地分出来了。
            for i in range(layer_length):
                node = deque.pop(0)
                layers[layer].append(node.val)
                if node.left:
                    deque.append(node.left)
                if node.right:
                    deque.append(node.right)
            layer += 1
    
        return layers
    

    相关文章

      网友评论

          本文标题:leetcode 102. 二叉树的层次遍历

          本文链接:https://www.haomeiwen.com/subject/cldzactx.html