Leetcode—199.二叉树的右视图【中等】

news/2024/7/20 22:46:04 标签: leetcode, 深度优先, 算法, c++, 经验分享, 二叉树

2023每日刷题(十九)

Leetcode—199.二叉树的右视图

在这里插入图片描述

深度优先遍历实现代码

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    vector<int> ans;
    void dfs(TreeNode* root, int depth) {
        if(root == nullptr) {
            return;
        }
        if(ans.size() == depth) {
            ans.push_back(root->val);
        }
        dfs(root->right, depth + 1);
        dfs(root->left, depth + 1);
    }

    vector<int> rightSideView(TreeNode* root) {
        dfs(root, 0);
        return ans;
    }
};

运行结果

在这里插入图片描述
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!


http://www.niftyadmin.cn/n/5150628.html

相关文章

Leetcode-509 斐波那契数列

使用循环 class Solution {public int fib(int n) {if(n 0){return 0;}if(n 1){return 1;}int res 0;int pre1 1;int pre2 0;for(int i 2; i < n; i){res pre1 pre2;pre2 pre1;pre1 res;}return res;} }使用HashMap class Solution {private Map<Integer,Int…

Java医院HIS系统源码

Java医院HIS系统源码 项目描述 该项目是用springbootlayuishiro写的医院管理系统&#xff0c;该系统的业务比较复杂&#xff0c;数据库一共有36张表。项目的视频业务参考文档&#xff0c;都在百度云盘中。可以先看看视频和参考文档。 运行环境 jdk8mysqlIntelliJ IDEAmaven…

Pytest UI自动化测试实战实例

环境准备 项目简介 测试地址 https://mail.126.com 测试范围 1.126电子邮箱登录功能测试-验证正确帐号密码登录成功-验证错误用户名密码登录失败&#xff08;有很多情况&#xff0c;用例里面做了充分的校验&#xff09; 2.126电子邮箱添加联系人功能测试-验证正确填写必填项数…

每日大厂面试题大汇总 —— 今日的是“京东-后端开发-一面”

&#x1f9f8;欢迎来到dream_ready的博客&#xff0c;&#x1f4dc;相信您也对这篇博客也感兴趣o (ˉ▽ˉ&#xff1b;) &#x1f9f8;大家一起面试加油呀&#xff01;&#xff01;&#xff01; &#x1f4dc;每日大厂面试题大汇总 —— 今日的是“顺丰一面” 京东一面面试题如…

实现自动接听电话

在Android 12中实现自动接听电话的功能可以通过使用特定的API来实现,具体的实现方法如下: 导入需要的类库和接口 import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.te…

Redis单节点模式、主从模式、哨兵模式、集群模式都有什么区别?

概念记录 Redis 是一个开源的内存数据结构存储系统&#xff0c;它支持多种数据结构&#xff08;如字符串、哈希表、列表、集合、有序集合等&#xff09;和多种操作&#xff08;如读取、写入、删除、排序、聚合等&#xff09;。Redis 提供了多种模式&#xff0c;以满足不同场景…

Monocle 3 | 太牛了!单细胞必学R包!~(三)(建立单细胞轨迹)

1写在前面 到周末了&#xff0c;今天去骑车的&#xff0c;感觉还不错。&#x1f6b4;&#x1f3fb; 下面就是今天的内容了&#xff1a; &#x1f447; 单细胞转录组、蛋白组、表观组学等单细胞技术的发展为研究细胞周期、细胞分化等细胞动态过程提供了新的机会。&#x1f929; …

JS ES6语法(...object)的含义

表示将一个对象展开插入 let obj1{x:100,y:200}let obj2{ a:10, b:20,...obj1}最终结果为 obj2:{ a:10, b:20,x:100, y:200 }