二叉树的右视图
问题
js
给定一个二叉树的 根节点 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) {
let res=[];
let q=[];
if(!root) return [];
q.push(root);
while(q.length>0){
let len=q.length;
let tmp=[];
while(len--){
let node=q.shift();
tmp.push(node.val);
if(node.left) q.push(node.left);
if(node.right) q.push(node.right);
}
res.push(tmp.at(-1));
}
return res;
};
扩展
层序遍历取最后一个