【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;
    }
相关推荐
xixixin_8 分钟前
【uniapp】uni.setClipboardData 方法失效 bug 解决方案
java·前端·uni-app
工业互联网专业13 分钟前
基于springboot+vue的校园二手物品交易平台
java·vue.js·spring boot·毕业设计·源码·课程设计·校园二手物品交易平台
isfox20 分钟前
一文拆解 Java CAS:从原理到避坑全攻略
java
JPC客栈26 分钟前
LeetCode面试经典 150 题(Java题解)
java·leetcode·面试
HyperAI超神经37 分钟前
【vLLM 学习】Aqlm 示例
java·开发语言·数据库·人工智能·学习·教程·vllm
异常驯兽师37 分钟前
IntelliJ IDEA 项目导入后 Java 文件图标显示为红色小写 j 的解决方法
java·路径配置
纪元A梦40 分钟前
华为OD机试真题——数据分类(2025A卷:100分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
java·javascript·c++·python·华为od·go·华为od机试题
常年游走在bug的边缘1 小时前
基于spring boot 集成 deepseek 流式输出 的vue3使用指南
java·spring boot·后端·ai
熙客1 小时前
Java并发:线程池
java
异常君1 小时前
Java 并发利器:CyclicBarrier 从入门到精通
java·后端