[路飞]_二叉树的右视图

203 阅读1分钟

199. 二叉树的右视图

题目

给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。

示例1

image.png

输入: [1,2,3,null,5,null,4]
输出: [1,3,4]

题解

这是二叉树层序遍历的变种题呀;从右侧看二叉树,是不是只能看到二叉树这一层最右侧的节点;
理解这一点,直接编辑代码

代码

var rightSideView = function(root) {
    let level = -1;
    let result = [];
    helper(root,0)
    return result
    function helper(node,num){
        if(node === null) return 
        if(num > level){
            level = num;
            result.push(node.val)
        }
        helper(node.right,num+1)
        helper(node.left,num+1)
    }
};