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;
    }
相关推荐
编程火箭车2 分钟前
【Java SE 基础学习打卡】14 Java 注释
java·编程规范·代码注释·api文档·代码可读性·javadoc·文档注释
雁于飞11 分钟前
分布式基础
java·spring boot·分布式·spring·wpf·cloud native
Hcoco_me18 分钟前
大模型面试题5:矩阵(M*M)特征值分解的步骤
算法·机器学习·矩阵
q***25127 分钟前
java进阶1——JVM
java·开发语言·jvm
while(1){yan}28 分钟前
线程的状态
java·开发语言·jvm
豐儀麟阁贵30 分钟前
8.3 Java常见的异常类
java·开发语言
20岁30年经验的码农31 分钟前
Java JVM 技术详解
java·jvm·压力测试
1***815333 分钟前
C在游戏中的场景管理
java·jvm·游戏
q***448138 分钟前
Java进阶10 IO流
java·开发语言
济宁雪人44 分钟前
Java安全基础——文件系统安全
java·开发语言·安全