微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

剑指 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

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐