05_二叉树的层次遍历II

简介: 05_二叉树的层次遍历II

二叉树的层序遍历 II

给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)

示例 1:

输入:root = [3,9,20,null,null,15,7]
输出:[[15,7],[9,20],[3]]

示例 2:

输入:root = [1]
输出:[[1]]

示例 3:

输入:root = []
输出:[]

提示:

  • 树中节点数目在范围 [0, 2000]
  • -1000 <= Node.val <= 1000
/
  * 解法:队列,迭代。 
  * 层序遍历,再翻转数组即可。  
/
class Solution {
    public List<List<Integer>> levelOrderBottom(TreeNode root) {
        List<List<Integer>> list = new ArrayList<>();
        Queue<TreeNode> que = new LinkedList<>();
        if (root == null)
            return list;
        que.offer(root);
        while (!que.isEmpty()) {
            List<Integer> levelList = new ArrayList<>();
            int size = que.size();
            while(size > 0) {
                TreeNode peek = que.poll();
                levelList.add(peek.val);
                if (peek.left != null)
                    que.offer(peek.left);
                if (peek.right != null)
                    que.offer(peek.right);
                size--;
            }
            list.add(levelList);
        }
        List<List<Integer>> result = new ArrayList<>();
        for (int i = list.size()-1; i >= 0; i--) {
            result.add(list.get(i));
        }
        return result;
    }
}
相关文章
|
12月前
|
缓存 NoSQL 应用服务中间件
Redis实战篇
Redis实战篇
|
12月前
|
缓存 NoSQL 关系型数据库
|
12月前
|
存储 索引 Python
python中的数据容器
python中的数据容器
|
12月前
|
存储 SQL 缓存
|
12月前
|
机器学习/深度学习 自然语言处理 搜索推荐
基于图神经网络的电商购买预测
基于图神经网络的电商购买预测
|
12月前
|
机器学习/深度学习 算法 搜索推荐
图神经网络综述:模型与应用
图神经网络综述:模型与应用
|
12月前
|
索引
08_杨辉三角
08_杨辉三角
|
12月前
10_最后一块石头的重量
10_最后一块石头的重量
|
12月前
74_搜索二维矩阵
74_搜索二维矩阵
|
12月前
|
人工智能 数据可视化 搜索推荐
Python异常模块与包
Python异常模块与包