把二叉树打印成多行

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

python solution:

# -*- coding:utf-8 -*-
class TreeNode:
    def __init__(self, x):
        self.val = x
        self.left = None
        self.right = None

class Solution:
    def Print(self, pRoot):
        if not pRoot:
            return []
        stack = [pRoot]
        res = []
        while len(stack):
            l = len(stack)
            tempres = []
            for i in range(l):
                temp = stack.pop(0)
                tempres.append(temp.val)
                if temp.left:
                    stack.append(temp.left)
                if temp.right:
                    stack.append(temp.right)
            res.append(tempres)
        return res
posted @ 2019-03-01 13:37  bernieloveslife  阅读(90)  评论(0编辑  收藏  举报