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;
    }
相关推荐
蒲公英源码3 分钟前
java企业OA自动化办公源码
java·spring boot·后端
鬼火儿37 分钟前
集成RabbitMQ+MQ常用操作
java·后端
ZHE|张恒1 小时前
Java 通配符
java
Merrick1 小时前
Java 方法参数默认值新方案:使用DefArgs!
java·后端
程序员小假1 小时前
finally 释放的是什么资源?
java·后端
技术砖家--Felix1 小时前
Spring Boot配置篇:详解application.properties和application.yml
java·spring boot·后端
2301_801252221 小时前
Mybatis的添加和修改功能
java·开发语言·mybatis
天选之女wow1 小时前
【代码随想录算法训练营——Day53】图论——110.字符串接龙、105.有向图的完全可达性、106.岛屿的周长
算法·深度优先·图论
安迪西嵌入式1 小时前
数据平滑处理算法03——中心移动平均
java·前端·算法
行思理1 小时前
IntelliJIdea 创建java spring boot程序
java·开发语言·spring boot