剑指offer60.把二叉树打印成多行

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_36811967/article/details/87920362

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

层序遍历:

# -*- coding:utf-8 -*-
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
class Solution:
    # 返回二维列表[[1,2],[4,5]]
    def Print(self, pRoot):
        # write code here
        res = []
        if not pRoot:
            return res
        stack= [pRoot]
        while stack:
            ceng = []
            for _ in range(len(stack)):
                node = stack.pop(0)
                ceng.append(node.val)
                if node.left:
                    stack.append(node.left)
                if node.right:
                    stack.append(node.right)
            res.append(ceng)
        return res

猜你喜欢

转载自blog.csdn.net/sinat_36811967/article/details/87920362