剑指offer:多行打印二叉树

来源:互联网 发布:知乎 多功能料理机 编辑:程序博客网 时间:2024/06/06 04:01

从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。

# -*- coding:utf-8 -*-# class TreeNode:#     def __init__(self, x):#         self.val = x#         self.left = None#         self.right = Noneclass Solution:    # 返回二维列表[[1,2],[4,5]]    def Print(self, pRoot):        # write code here        if not pRoot:            return []        res=[]#返回二维列表        tmp=[pRoot]#用来更新节点        while tmp:            size=len(tmp)            row=[]#每一层的节点值            for i in tmp:                row.append(i.val)            res.append(row)#            for i in range(size):#更新tmp                node=tmp.pop(0)#删掉第一个节点,并赋值给node                if node.left:                    tmp.append(node.left)                if node.right:                    tmp.append(node.right)        return res
原创粉丝点击