二叉树的右视图
题目描述
给定一个二叉树的 根节点 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;
};
开完组会做道题,今天结束。。。