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;
    }
相关推荐
jimy19 分钟前
C语言实现-----面向对象编程
c语言·数据结构
Kethy__13 分钟前
计算机中级-数据库系统工程师-数据结构-树与二叉树(2)
数据结构·数据库·软考··计算机中级
黎阳之光13 分钟前
数智技术如何赋能空天地一体化,领跑低空经济新赛道
大数据·人工智能·算法·安全·数字孪生
東雪木15 分钟前
Java学习——一访问修饰符(public/protected/default/private)的权限控制本质
java·开发语言·学习·java面试
两点王爷36 分钟前
docker 创建和使用存储卷相关内容
java·docker·容器
boonya38 分钟前
Embedding模型与向量维度动态切换完整方案
java·数据库·embedding·动态切换大模型
宁波阿成1 小时前
族谱管理系统架构分析与亮点总结
java·系统架构·vue·ruoyi-vue·族谱
Dr.F.Arthur1 小时前
我的算法笔记——哈希表篇
数据结构·笔记·散列表
小肝一下1 小时前
每日两道力扣,day2
c++·算法·leetcode·职场和发展
姬成韶1 小时前
BUUCTF--[RoarCTF 2019]Easy Java
java·网络安全