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;
    }
相关推荐
fy121631 分钟前
navicat15安装破解
java
炽烈小老头6 分钟前
【每天学习一点算法 2026/03/16】电话号码的字母组合
学习·算法
ok_hahaha6 分钟前
java从头开始-苍穹外卖day05-Redis及店铺营业状态设置
java·开发语言·redis
Lee川17 分钟前
时空迷宫探险记:从O(1)到O(2^n)的算法进化论
算法·面试
KangJX23 分钟前
Matrix获取卡顿堆栈 (Point Stack)
算法·客户端
靠沿29 分钟前
【优选算法】专题十三——队列+宽搜(BFS)
算法·宽度优先
加洛斯30 分钟前
JAVA知识梳理:一文搞懂集合中的List与ArrayList的基础与进阶
java·后端·面试
架构师沉默1 小时前
女孩去旅行,给男朋友带回了一个难解的 Bug
java·后端·架构
xu_ws1 小时前
Spring-ai项目-deepseek-6-哄哄模拟器
java·人工智能·spring
刘 大 望1 小时前
SpringAI Tool Calling(工具调用)
java·spring boot·spring·ai·maven·intellij-idea·文心一言