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

题目详情:

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

示例 1:

输入: [1,2,3,null,5,null,4]
输出: [1,3,4]

示例 2:

输入: [1,null,3]
输出: [1,3]

示例 3:

输入: []
输出: []

提示:

  • 二叉树的节点个数的范围是 [0,100]
  • -100 <= Node.val <= 100 

代码详解:

class Solution {  
    public List<Integer> rightSideView(TreeNode root) {  
        // 初始化一个ArrayList,用于存储结果  
        List<Integer> res = new ArrayList<>();  
        // 如果根节点为空,则直接返回空列表  
        if (root == null) {  
            return res;  
        }  
        // 初始化一个队列,用于层序遍历  
        Queue<TreeNode> queue = new LinkedList<>();  
        // 将根节点入队  
        queue.offer(root);  
  
        // 当队列不为空时,循环遍历  
        while (!queue.isEmpty()) {  
            // 获取当前层的节点数量  
            int size = queue.size();  
            // 遍历当前层的所有节点  
            for (int i = 0; i < size; i++) {  
                // 出队一个节点  
                TreeNode node = queue.poll();  
                // 如果该节点有左子节点,则将左子节点入队  
                if (node.left != null) {  
                    queue.offer(node.left);  
                }  
                // 如果该节点有右子节点,则将右子节点入队  
                if (node.right != null) {  
                    queue.offer(node.right);  
                }  
                // 如果当前节点是这一层的最后一个节点(即i等于size-1),则将其值添加到结果列表中  
                if (i == size - 1) {  
                    res.add(node.val);  
                }  
            }  
        }  
        return res;  
    }  
}

相关推荐

  1. Leetcode 199视图

    2024-03-19 21:38:04       30 阅读
  2. LeetCode199.视图

    2024-03-19 21:38:04       26 阅读
  3. 199_视图

    2024-03-19 21:38:04       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-19 21:38:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-19 21:38:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-19 21:38:04       82 阅读
  4. Python语言-面向对象

    2024-03-19 21:38:04       91 阅读

热门阅读

  1. 关于前端的学习2

    2024-03-19 21:38:04       38 阅读
  2. 人生视角的双重镜像:喜剧与悲剧的辩证统一

    2024-03-19 21:38:04       41 阅读
  3. pytorch升级打怪(七)

    2024-03-19 21:38:04       40 阅读
  4. C语言 函数

    2024-03-19 21:38:04       45 阅读
  5. 用python实现球球大作战

    2024-03-19 21:38:04       41 阅读
  6. python怎样使用excel

    2024-03-19 21:38:04       39 阅读
  7. 程序员如何选择职业赛道?

    2024-03-19 21:38:04       38 阅读
  8. QT 多线程使用以及注意事项

    2024-03-19 21:38:04       43 阅读
  9. react面试题

    2024-03-19 21:38:04       29 阅读
  10. Nacos

    Nacos

    2024-03-19 21:38:04      37 阅读
  11. +-x c++

    2024-03-19 21:38:04       42 阅读