【LeetCode刷题记录】199. 二叉树的右视图

199 二叉树的右视图

给定一个二叉树的 根节点 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

思路

PS:树的深度&高度
深度是指从根节点到最远叶节点的最长路径上的边数;高度是指从叶节点到树根的最长路径上的边数。
用一个全局变量数组记录答案。因为是右视图,所以先遍历右子树,再遍历左子树。若当前节点深度等于答案长度,那么就输入当前节点值。

代码

class Solution {
public:
    vector<int> ans;
    void write(TreeNode* node, int depth) {
        if (node == nullptr)
            return;
        if (depth == ans.size()) {
            ans.push_back(node->val);
        }
        write(node->right, depth + 1);
        write(node->left, depth + 1);
    }
    vector<int> rightSideView(TreeNode* root) {
        write(root, 0);
        return ans;
    }
};

相关推荐

  1. (力扣记录199.视图

    2024-05-02 13:08:01       44 阅读
  2. Leetcode 199视图

    2024-05-02 13:08:01       30 阅读
  3. LeetCode199.视图

    2024-05-02 13:08:01       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-02 13:08:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-02 13:08:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-05-02 13:08:01       82 阅读
  4. Python语言-面向对象

    2024-05-02 13:08:01       91 阅读

热门阅读

  1. solidity(16)

    2024-05-02 13:08:01       34 阅读
  2. 【刷爆力扣之二叉树】107. 二叉树的层序遍历 II

    2024-05-02 13:08:01       35 阅读
  3. LeetCode //C - 44. Wildcard Matching

    2024-05-02 13:08:01       35 阅读
  4. SQLServer聚合函数

    2024-05-02 13:08:01       30 阅读
  5. 近期学习总结(1)!!!选择结构程序~

    2024-05-02 13:08:01       33 阅读
  6. Nacos的开源背景与主要贡献者深度解析

    2024-05-02 13:08:01       29 阅读
  7. k8s-实战——kubeadm安装1.30.0

    2024-05-02 13:08:01       23 阅读