LeetCode:199.二叉树的右视图(Java语言)

简介: LeetCode:199.二叉树的右视图(Java语言)

199.二叉树的右视图

给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

示例:

解题思路:

利用广度优先遍历将遍历的节点存入队列中

但是和层序不同,本题优先将右节点入队,从右向左看,如果根节点存在右孩子,则左孩子看不见,如果没有,则输出左孩子,所以优先将右孩子入队

进行一个循环,处理每层的节点,将每层第一个入队的节点输出

代码:

/**
 *作者:魏宝航
 *2020年11月26日,下午16:14
 */
class Solution {
    public List<Integer> rightSideView(TreeNode root) {
        if(root==null){
            return new ArrayList<Integer>();
        }
        List<Integer> arr=new ArrayList<Integer>();
        Queue<TreeNode> list=new LinkedList<>();
        list.add(root);
        while(!list.isEmpty()){
            int size=list.size();
            boolean flag=true;
            for(int i=0;i<size;i++){
                TreeNode temp=list.poll();
                if(flag){
                    arr.add(temp.val);
                    flag=false;
                }
                if(temp.right!=null){
                    list.add(temp.right);
                }
                if(temp.left!=null){
                    list.add(temp.left);
                }
            }
            flag=true;
        }
        return arr;
    }
}

执行结果:


目录
相关文章
|
5天前
leetcode代码记录(二叉树的所有路径
leetcode代码记录(二叉树的所有路径
10 0
|
6天前
leetcode代码记录(对称二叉树 中序遍历+回文串 为什么不行
leetcode代码记录(对称二叉树 中序遍历+回文串 为什么不行
7 0
|
6天前
leetcode代码记录(二叉树的最小深度
leetcode代码记录(二叉树的最小深度
9 0
|
6天前
leetcode代码记录(二叉树的最大深度
leetcode代码记录(二叉树的最大深度
8 0
|
6天前
leetcode代码记录(翻转二叉树
leetcode代码记录(翻转二叉树
7 0
|
6天前
leetcode代码记录(二叉树的层序遍历
leetcode代码记录(二叉树的层序遍历
10 0
|
6天前
|
算法
leetcode代码记录(二叉树递归遍历
leetcode代码记录(二叉树递归遍历
8 0
|
7天前
|
传感器 人工智能 前端开发
JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式
智慧校园电子班牌,坐落于班级的门口,适合于各类型学校的场景应用,班级学校日常内容更新可由班级自行管理,也可由学校统一管理。让我们一起看看,电子班牌有哪些功能呢?
98 4
JAVA语言VUE2+Spring boot+MySQL开发的智慧校园系统源码(电子班牌可人脸识别)Saas 模式
|
7天前
|
网络协议 Java 数据库连接
Java语言的特点
【5月更文挑战第7天】Java是一种面向对象的编程语言,强调数据和操作的封装,具备平台独立性,能“一次编写,到处运行”。它有自动垃圾收集机制,消除手动内存管理。Java是强类型语言,注重安全性,并支持多线程编程。其丰富的API库和对网络编程的良好支持增强了功能。此外,Java的可扩展性使其能轻松适应新需求和扩展。
21 4
|
5天前
|
算法 C++
【刷题】Leetcode 1609.奇偶树
这道题是我目前做过最难的题,虽然没有一遍做出来,但是参考大佬的代码,慢慢啃的感觉的真的很好。刷题继续!!!!!!
8 0