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