剑指 Offer 32 - I. 从上到下打印二叉树(python)

题目描述:
剑指 Offer 32 - I. 从上到下打印二叉树(python)_第1张图片

解题思路:
层次遍历,采用队列,队列头部取出节点,将其左右节点加入队尾

class Solution:
    def levelOrder(self, root: TreeNode) -> List[int]:
        if not root:return []
        queue=[root]
        res=[root.val]
        while queue:
            node=queue.pop(0)
            if  node.left:
                queue.append(node.left)
                res.append(node.left.val)
            if  node.right:
                queue.append(node.right)
                res.append(node.right.val)
        return res

在取出元素时添加,这样只写一个添加语句即可

res.append(node.val)
            if node.left: queue.append(node.left)
            if node.right: queue.append(node.right)

你可能感兴趣的:(leetcode)