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;
    }
相关推荐
汤姆yu10 分钟前
基于springboot的民间文化艺术品销售系统
java·spring boot·后端
二进制小甜豆23 分钟前
Spring MVC
java·后端·spring·mvc
CoovallyAIHub29 分钟前
基于YOLO-NAS-Pose的无人机象群姿态估计:群体行为分析的突破
深度学习·算法·计算机视觉
Yvonne97831 分钟前
定时任务:springboot集成xxl-job-core(一)
java·spring boot·xxl-job
二猛子34 分钟前
排序算法-归并排序与快速排序
数据结构·c++·算法·排序算法
依然易冷34 分钟前
【复杂指令遵循 Benchmark】论文分享:CodeIF
算法
SWHL34 分钟前
rapidocr v3.0.0发布(集成PP-OCRv5)
算法
泰勒疯狂展开42 分钟前
Java研学-MongoDB(一)
java·开发语言·mongodb
red_redemption1 小时前
JSP、HTML和Tomcat
java·tomcat·html
李斯维1 小时前
循序渐进 Android Binder(一):IPC 基本概念和 AIDL 跨进程通信的简单实例
android·java·android studio