给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。
示例 :
输入: [1,2,3,null,5,null,4]
输出: [1,3,4]
/**
* 对于同一层的节点 当 res.length === depth 时存入数组,遍历到其兄弟时这两个就不相等了,所以同一层只会把最右面的放入数组
*/
var rightSideView = function(root) {
let res = []
dfs(root, res, 0)
return res
};
function dfs(node, res, depth){
if(!node){
return
}
if(res.length === depth){
res.push(node.val)
}
dfs(node.right, res, depth+1)
dfs(node.left, res, depth+1)
}