二叉树的右侧视图,使用层序遍历实现,需要先获取带有层级的二维数组,再将数组中每个数组的最后一个值获取到,即为右侧视图。
给定一个二叉树的 根节点 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
链接:https://leetcode.cn/problems/WNC0Lk
代码语言:javascript复制var rightSideView = function (root) {
if (!root) {
return [];
}
let res = [];
let queue = [root];
let count = 0;
let finalRes = [];
while (queue.length) {
let len = queue.length;
res[count] = [];
while (len--) {
const node = queue.shift();
res[count].push(node.val);
node.left && queue.push(node.left);
node.right && queue.push(node.right);
}
count ;
}
res.forEach((item) => {
finalRes.push(item.slice(-1));
});
return finalRes;
};