Leetcode 107:二叉树的层次遍历II

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

思路:翻转title102的结果即可。

java 复制代码
//层次遍历二叉树
    public static List<List<Integer>> levelOrder(TreeNode root) {
        List<List<Integer>> result=new ArrayList();
        //借助队列
        Queue<TreeNode> queue=new LinkedList();
        if(root!=null){
            queue.add(root);
        }

        while (!queue.isEmpty()){
            int size=queue.size();   //记录每层个数
            List<Integer> list=new ArrayList();

            for(int i=0;i<size;i++){
                TreeNode node=queue.poll();
                list.add(node.val);
                if(node.left!=null){
                    queue.add(node.left);
                }
                if(node.right!=null){
                    queue.add(node.right);
                }
            }
            result.add(list);
        }

        //翻转二维列表
        List<List<Integer>> res=new ArrayList();
        for(int i=result.size()-1;i>=0;i--){
            res.add(result.get(i));
        }
        return res;
    }
相关推荐
叫我莫言鸭11 分钟前
关于word生成报告的POI学习2循环标题内容
java·学习·word
hans汉斯13 分钟前
基于数据重构与阈值自适应的信用卡欺诈不平衡分类模型研究
大数据·算法·机器学习·重构·分类·数据挖掘·机器人
七夜zippoe15 分钟前
Spring与MyBatis整合原理及事务管理
java·spring·mybatis·事务·mapper
ZPC821015 分钟前
FANUC 机器人 PR 寄存器
人工智能·python·算法·机器人
yong999018 分钟前
超宽带系统链路 MATLAB 仿真
开发语言·算法·matlab
yaoxin52112319 分钟前
278. Java Stream API - 限制与跳过操作全解析
java·开发语言·python
短剑重铸之日26 分钟前
《深入解析JVM》第五章:JDK 8之后版本的优化与JDK 25前瞻
java·开发语言·jvm·后端
love530love29 分钟前
【探讨】“父级/基环境损坏,子环境全部失效”,如何避免 .venv 受父级 Python 损坏影响?
java·开发语言·人工智能·windows·python·编程·ai编程
历程里程碑40 分钟前
LeetCode 560题:和为K子数组最优解
算法·哈希算法·散列表
java硕哥1 小时前
Spring源码debug方法
java·后端·spring