LeetCode 热题 100——二叉树——二叉树的右视图

二叉树的右视图

题目描述

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

示例 1:

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

输出:[1,3,4]

解释:

示例 2:

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

输出:[1,3,4,5]

解释:

示例 3:

输入:root = [1,null,3]

输出:[1,3]

示例 4:

输入:root = []

输出:[]

提示:

二叉树的节点个数的范围是 [0,100]

-100 <= Node.val <= 100

求解

思路:层序遍历 + 每层最后一个节点

js 复制代码
var rightSideView = function(root) {
    // 层序遍历,找最后一个元素
    if (!root) return [];
    let ans = [];
    let queue = [];
    queue.push(root)
    while (queue.length !== 0) {
        ans.push(queue[queue.length - 1].val);
        let temp = [];
        for (let node of queue) {
            if (node.left) temp.push(node.left);
            if (node.right) temp.push(node.right);
        }
        queue = temp;
    }
    return ans;
};

开完组会做道题,今天结束。。。

相关推荐
空空潍几秒前
LeetCode力扣 hot100一刷完结
算法·leetcode
leaves falling3 分钟前
搜索插入位置(第一个≥target的位置)
算法
lcreek3 分钟前
LeetCode 1162.地图分析
算法·leetcode·bfs
寒月小酒7 分钟前
3.20 OJ
算法
AI科技星10 分钟前
基于空间光速螺旋归一化的动力学方程推导与数值验证
人工智能·线性代数·算法·机器学习·平面
bbbb36513 分钟前
排序算法的演进史:从冒泡到快速再到TimSort的技术7
数据结构·算法·排序算法
不染尘.17 分钟前
排序算法详解1
开发语言·数据结构·c++·算法·排序算法
Tisfy19 分钟前
LeetCode 3567.子矩阵的最小绝对差:暴力模拟
leetcode·矩阵·题解·模拟·暴力
啊我不会诶20 分钟前
25CCPC东北邀请赛vp补题
c++·算法