【hot100】199二叉树的右视图

一、思路

这题和二叉树的层序遍历几乎一样,就是在层序遍历的基础上,只把每层最右边的元素加入list里即可

二、记忆

1.双端队列中有记录长度的属性,可以直接获取

Deque<TreeNode> treeNodes = new LinkedList<>();

int currentsize = treeNodes.size();

三、代码

复制代码
public List<Integer> rightSideView(TreeNode root){
        if (root==null) return new ArrayList<>();
        Deque<TreeNode> treeNodes = new LinkedList<>();
        List<Integer> ret = new ArrayList<>();
        treeNodes.add(root);
        while(!treeNodes.isEmpty()){
            int currentsize = treeNodes.size();
            for (int i = 0;i<currentsize;i++){
                TreeNode temp = treeNodes.pollFirst();
                if (i==currentsize-1) ret.add(temp.val);//每行最后一个树加入
                if (temp.left!=null){
                    treeNodes.addLast(temp.left);
                }
                if (temp.right!=null){
                    treeNodes.addLast(temp.right);
                }
            }
        }
        return ret;
    }
相关推荐
hqxstudying13 分钟前
前后端交流
java·css·后端·html·json
爱掉发的小李1 小时前
Linux 环境下 Docker 安装与简单使用指南
java·linux·运维·c++·python·docker·php
青灯文案11 小时前
Spring Boot 的事务注解 @Transactional 失效的几种情况
java·spring boot·后端
困困_041 小时前
rabbitMQ
java·rabbitmq·java-rabbitmq
爱编程的鱼1 小时前
计算机(电脑)是什么?零基础硬件软件详解
java·开发语言·算法·c#·电脑·集合
求知若渴,虚心若愚。2 小时前
ansible.cfg 配置文件生成
java·服务器·ansible
雪域迷影2 小时前
使用AssemblyAI将音频数据转换成文本
java·音视频·restapi·gson·assemblyai
IH_LZH2 小时前
kotlin小记(1)
android·java·前端·kotlin
二闹2 小时前
后端开发:这5个技巧让你少写一半代码!
java·后端·project lombok
smileNicky3 小时前
SpringBoot系列之集成EasyExcel实现百万级别的数据导入导出实践
java