美文网首页
二叉树 Leetcode 102 二叉树层次遍历

二叉树 Leetcode 102 二叉树层次遍历

作者: 禾木清清 | 来源:发表于2019-07-14 19:44 被阅读0次

    题目

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

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

    3
    

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

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

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/binary-tree-level-order-traversal
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    代码

    # Definition for a binary tree node.
    # class TreeNode(object):
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None
    
    class Solution(object):
        def levelOrder(self, root):
            """
            :type root: TreeNode
            :rtype: List[List[int]]
            """
            if not root:
                return []
            
            res = []
            stack = [root]
            
            while stack:
                temp = []
                nodes = []
                
                for node in stack:
                    nodes.append(node.val)
                    
                    if node.left:
                        temp.append(node.left)
                    if node.right:
                        temp.append(node.right)
                res.append(nodes)
                stack = temp
            return res
                
    

    相关文章

      网友评论

          本文标题:二叉树 Leetcode 102 二叉树层次遍历

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