【二叉树】199. 二叉树的右视图

简介: 【二叉树】199. 二叉树的右视图

1. 题目描述

2. 题目分析

  1. 在很多的面经中看到过这种题,今天有空做了做
  2. 让你求二叉树的左视图或者右视图,我们可以直接层次遍历,对于层次遍历,参考这道题–102. 二叉树的层次遍历, 我们只需要取出每次层次遍历的第一个数或者最后一个数,存进list中,最后输出
  3. 这个题目的关键思想是在:int len = quene.size(); for(int i = 0; i < len; i++){}

3. 题目代码

class Solution {
    public List<Integer> rightSideView(TreeNode root) {
        Queue<TreeNode> queue = new LinkedList<TreeNode>();
    List<Integer> list = new ArrayList<Integer>();
        if(root == null){
            return list;
        }
        queue.add(root);
        while(!queue.isEmpty()){
            int size = queue.size();
            for(int i = size; i > 0; i--){
                TreeNode tree = queue.poll();
                if(tree.left != null){
                queue.add(tree.left);
                }
                if(tree.right != null){
                queue.add(tree.right);
                }
                if(i == 1){
                list.add(tree.val);
                }
            }
        }
        return list;        
    }
}


相关文章
|
11月前
|
存储 自然语言处理 机器人
揭秘LangChain超能力:一键解锁与多元语言模型的梦幻联动,打造前所未有的智能对话体验!
【10月更文挑战第7天】LangChain是一个开源框架,旨在简化应用程序与大型语言模型(LLM)的交互。它提供抽象层,使开发者能轻松构建聊天机器人、知识管理工具等应用。本文介绍如何使用LangChain与不同语言模型交互,涵盖安装、环境设置、简单应用开发及复杂场景配置,如文档处理和多模型支持。
188 3
springboot和elasticsearch以及springboot data elasticsearch对应的版本
springboot和elasticsearch以及springboot data elasticsearch对应的版本
691 1
|
JavaScript 网络安全 iOS开发
如何用 Electron 打包chatgpt-plus.top并生成mac客户端
如何用 Electron 打包chatgpt-plus.top并生成mac客户端
219 0
|
编解码 计算机视觉 Python
pyautogui库简单实现的python刷课程序
pyautogui库简单实现的python刷课程序
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【7月更文挑战第23天】在数字化时代,网络安全和信息安全已成为全球关注的焦点。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性。我们将了解不同类型的网络攻击和漏洞,并讨论如何通过加密技术和提高安全意识来保护个人和组织的数据。文章还将介绍一些实用的工具和策略,以帮助读者更好地保护自己的网络安全。
|
前端开发 数据可视化 JavaScript
【iVX】颠覆常规,首个图形通用无代码编程平台诞生
【iVX】颠覆常规,首个图形通用无代码编程平台诞生
395 1
|
SQL 存储 分布式计算
3月5日JindoFS系列直播【Hadoop Job committer 的演化和发展】
Job Committer是Mapreduce/Spark等分布式计算框架的重要组成部分,为分布式任务的写入提供一致性的保证,本次分享主要介绍Job Committer的演进历史,以及社区和EMR在S3/OSS等云存储上的最新进展。
3月5日JindoFS系列直播【Hadoop Job committer 的演化和发展】
|
缓存 Java 网络协议
java-面试-Java并发编程(七)——Executors
Executors框架简介 Executor框架便是Java 5中引入的,其内部使用了线程池机制,它在java.util.cocurrent 包下,通过该框架来控制线程的启动、执行和关闭,可以简化并发编程的操作。
1271 0

热门文章

最新文章