首页 > 试题广场 >

从下到上打印二叉树

[编程题]从下到上打印二叉树
  • 热度指数:1869 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一棵二叉树,返回齐自底向上的层序遍历。

数据范围:二叉树上节点数满足 ,二叉树上的值满足

样例图:

示例1

输入

{1,2,3,4,#,5,6}

输出

[[4,5,6],[2,3],[1]]

说明

如题面图示 
示例2

输入

{1,2}

输出

[[2],[1]]

说明:本题目包含复杂数据结构TreeNode,点此查看相关信息
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param root TreeNode类 
# @return int整型二维数组
#
class Solution:
    def levelOrderBottom(self , root: TreeNode) -> List[List[int]]:
        # write code here
        res = []
        q = []

        q.append(root)
        while len(q) != 0:
            next_q = []

            tmp = []
            for node in q:
                tmp.append(node.val)
                
                if node.left is not None:
                    next_q.append(node.left)

                if node.right is not None:
                    next_q.append(node.right)
            
            res.append(tmp)
            q = next_q

        return res[::-1]





发表于 2024-04-21 12:04:26 回复(0)