【力扣】107. 二叉树的层次遍历 II
发布日期:2021-06-29 19:43:55 浏览次数:2 分类:技术文章

本文共 990 字,大约阅读时间需要 3 分钟。

题目:给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)

例如
给定二叉树 [3,9,20,null,null,15,7],

3   / \  9  20    /  \   15   7

返回其自底向上的层次遍历为:

[
[15,7],
[9,20],
[3]
]

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */class Solution {
public List
> levelOrderBottom(TreeNode root) {
LinkedList
> result = new LinkedList<>(); if (root == null) return result; Queue
queue = new LinkedList<>(); queue.add(root); while (!queue.isEmpty()) {
List
oneLevel = new ArrayList<>(); // 每次都取出一层的所有数据 int count = queue.size(); for (int i = 0; i < count; i++) { TreeNode node = queue.poll(); oneLevel.add(node.val); if (node.left != null) queue.add(node.left); if (node.right != null) queue.add(node.right); } // 每次都往队头塞 result.addFirst(oneLevel); } return result; }}

转载地址:https://darkness.blog.csdn.net/article/details/103825315 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【作业】第六章课后作业
下一篇:【力扣】104. 二叉树的最大深度

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月23日 07时07分46秒