二叉树的层序遍历 II
2023-09-11 14:15:14 时间
二叉树的层序遍历 II
给定一个二叉树,返回其节点值自底向上的层序遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)
例如:
给定二叉树 [3,9,20,null,null,15,7]
,
3 / \ 9 20 / \ 15 7
返回其自底向上的层序遍历为:
[ [15,7], [9,20], [3] ]
示例代码:
# Definition for a binary tree node.
# class TreeNode(object):
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution(object):
def levelOrderBottom(self, root):
"""
:type root: TreeNode
:rtype: List[List[int]]
"""
if not root:
return []
res = []
queue = [root]
while queue:
tmp = []
for _ in range(len(queue)):
node = queue.pop(0)
tmp.append(node.val)
if node.left:
queue.append(node.left)
if node.right:
queue.append(node.right)
res.append(tmp)
return res[::-1]
相关文章
- leetCode 94.Binary Tree Inorder Traversal(二叉树中序遍历) 解题思路和方法
- 【算法】【二叉树模块】求一个二叉树是否包含另一个二叉树的拓扑结构
- 二叉树的最大深度
- 【Leetcode】107. 二叉树的层序遍历 II(中等)
- 基于C++实现(WinForm)二叉树及模拟社会关系网络【100010542】
- [LeetCode]剑指 Offer 55 - I. 二叉树的深度
- 剑指offer解法汇总77-按之字形顺序打印二叉树
- 二叉树的建立与遍历
- 二叉树的遍历、求深与还原
- 数据结构 | 树对应二叉树中无右孩子结点个数
- 《剑指offer》-- 从上往下打印二叉树、二叉搜素树的后序遍历、二叉树中和为某一值的路径、二叉树与双向链表
- LeetCode098之验证二叉搜索树(相关话题:二叉树中序遍历的应用)
- 110、【树与二叉树】leetcode ——450. 删除二叉搜索树中的节点:递归法+迭代法(C++版本)
- 二叉树的几种遍历方法
- 【历史上的今天】1 月 8 日:谷歌推出 Google Pay;Quibi 的重生;平衡二叉树的发明者出生
- 【Leetcode】105: 从前序与中序遍历序列构造二叉树
- [LeetCode] 1028. Recover a Tree From Preorder Traversal 从先序遍历还原二叉树
- [LeetCode] 536. Construct Binary Tree from String 从字符串创建二叉树
- [LeetCode] Find Leaves of Binary Tree 找二叉树的叶节点
- [LeetCode] 124. Binary Tree Maximum Path Sum 求二叉树的最大路径和
- 二叉树的前序遍历,中序遍历,后序遍历学习 (原)
- leetcode 105. Construct Binary Tree from Preorder and Inorder Traversal 从前序与中序遍历序列构造二叉树(中等)