45、二叉树-二叉树的右视图

思路

层序遍历 从左向右遍历每一层取最后一个数,代码如下:

java 复制代码
public List<Integer> rightSideView(TreeNode root) {
        if (root==null){
            return new ArrayList<>();
        }
        Queue<TreeNode> queue = new LinkedList<>();
        List<Integer> list = new ArrayList<>();
        TreeNode cur=root;
        queue.add(cur);
      
        while (!queue.isEmpty()){
            int size = queue.size();
            for (int i = 0; i < size; i++) {
                cur = queue.poll();
                if (i==size-1){
                    list.add(cur.val);
                }
                if (cur.left!=null){
                    queue.add(cur.left);
                }
                if (cur.right!=null){
                    queue.add(cur.right);
                }
            }
        }
        return list;
    }
相关推荐
郑州光合科技余经理8 分钟前
同城020系统架构实战:中台化设计与部署
java·大数据·开发语言·后端·系统架构·uni-app·php
uesowys10 分钟前
华为OD算法开发指导-二级索引
数据结构·算法·华为od
LcVong10 分钟前
Android 25(API 25)+ JDK 17 环境搭建
android·java·开发语言
a程序小傲22 分钟前
高并发下如何防止重复下单?
java·开发语言·算法·面试·职场和发展·状态模式
uoKent31 分钟前
c++中的封装、继承与多态
开发语言·c++·算法
爱喝可乐的老王32 分钟前
机器学习监督学习模型--朴素贝叶斯
人工智能·算法·机器学习
sww_102641 分钟前
智能问数系统(二):数据分析师Python
java·前端·python
2301_781392521 小时前
MySQL格式化数据展示——分页查询
java·数据库·mysql·性能优化
啊阿狸不会拉杆1 小时前
《机器学习》完结篇-总结
人工智能·算法·机器学习·计算机视觉·ai·集成学习·ml
Java后端的Ai之路1 小时前
【Java教程】- 并发编程核心知识解读
java·开发语言·并发编程