其他分享
首页 > 其他分享> > 剑指 Offer 32 - III. 从上到下打印二叉树 III

剑指 Offer 32 - III. 从上到下打印二叉树 III

作者:互联网

思路:在二叉树的层序遍历基础上加一个校验位,通过校验位来判断此层需要正序添加还是逆序添加。

Python:

class Solution:
    def levelOrder(self, root: TreeNode) -> List[List[int]]:
        res=[]
        if not root:
            return res
        queue=[]
        queue.append(root)
        flag=False
        while queue:
            size=len(queue)
            tmp=[]
            flag=~flag
            for _ in range(size):
                node=queue.pop(0)
                tmp.append(node.val)
                if node.left:
                    queue.append(node.left)
                if node.right:
                    queue.append(node.right)
            if flag:
                res.append(tmp)
            else:
                res.append(tmp[::-1])
        return res

 

标签:node,tmp,Offer,res,queue,flag,二叉树,III,append
来源: https://www.cnblogs.com/tiuyoaix/p/16163148.html