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;
    }
相关推荐
2401_882351521 分钟前
Flutter for OpenHarmony 商城App实战 - 购物车实现
java·flutter·dubbo
Emilin Amy3 分钟前
【C++】【STL算法】那些STL算法替代的循环
开发语言·c++·算法·ros1/2
遇印记8 分钟前
蓝桥java求最大公约数
java·开发语言
ONExiaobaijs9 分钟前
【无标题】
java·开发语言·spring·maven·程序员创富
qeen8716 分钟前
【数据结构】顺序表的详细解析及其简单通讯录实现
c语言·数据结构·学习
符哥200818 分钟前
Mybatis和Mybatis-plus区别
java·开发语言·mybatis
Hcoco_me18 分钟前
大模型面试题74:在使用GRPO训练LLM时,训练数据有什么要求?
人工智能·深度学习·算法·机器学习·chatgpt·机器人
天赐学c语言20 分钟前
1.16 - 二叉树的中序遍历 && 动态多态的实现原理
数据结构·c++·算法·leecode
lkbhua莱克瓦2425 分钟前
JavaWeb技术概述
java·javaweb·web
爬山算法26 分钟前
Hibernate(46) Hibernate的配置文件如何加载?
java·后端·hibernate