字节跳动面试题求叶子节点到叶子节点的最大距离_vector <employeenode*> children;-程序员宅基地

技术标签: c++  

题目:
给一个类似树的结构,每个节点都可以有多个节点(不止两个树)然后每个根节点和字节点间的路径不一样,求叶子结点到叶子结点的最大路径

class Node {
    
public:
    int val;
    vector<Node*> children;

    Node() {
    }

    Node(int _val) {
    
        val = _val;
    }

    Node(int _val, vector<Node*> _children) {
    
        val = _val;
        children = _children;
    }
}

思路
自下而上,归并思想,具体可以参考点击跳转页面
代码:

class Solution {
    
private:
    int maxGap=0;

    int dfs(Node* root)
    {
    
        if(root==nullptr)  return 0;
        
        int childrenMax=0;

      for(Node *pNode:root->children)
      {
    
          childrenMax=max(childrenMax,dfs(pNode));
      }
       


        return  childrenMax+1;
    }

public:
    int preorderTraversal(Node* root) 
    {
    

        return dfs(root);
    }
};
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_23923713/article/details/113444887

智能推荐

Enterprise Architect 9.2 发布,企业建模工具-程序员宅基地

文章浏览阅读742次。Enterprise Architect是一款计算机辅助软件工程(CASE)工具,用于设计和构建软件系统、业务流程建模及更多通用的建模。EA并不仅仅是一个UML画图工具那么简单,它对整个项目开发过程有着非常好的支持。比较亮点的功能:1.UML建模--支持UML2.12.代码工程--按图生成代码,导入原有的代码成为UML图3.项目管理程序--包括项目计划,任务_enterprise architect 9.2

BUUCTF-pwn(15)_ctfshow pwn15-程序员宅基地

文章浏览阅读2.6k次。gyctf_2020_some_thing_interesting经典UAF漏洞!Allocate申请函数!Free释放函数!全保护开启,故我们利用格式化字符串漏洞泄露libc地址,从而得到malloc_hook地址。然后利用UAF漏洞修改malloc_hook为one_gadget,此时进行申请操作便可获取权限!from pwn import *context(log_level='debug',os='linux',arch='amd64')binary = './gyctf_2_ctfshow pwn15

反射xss触发技巧之引号转义逃逸_xss双引号被转义怎么办-程序员宅基地

文章浏览阅读3k次。不少xss防御机制较为成熟,但是引号转义却不转义转义符的情况,仍然可以进行逃逸并触发反射xss,以最近的搜狗反射xss为例来讲(已修复)https://xxx.xxx.com/hospital/ncp/guide.html?channel=hainan\%27;alert(1);//此处的单引号被转义,然而在单引号前加上转义符,可以导致单引号逃逸,成功闭合,触发反射xss..._xss双引号被转义怎么办

Excel 2010 VBA 入门 101 将Excel按指定格式导出为文本文件_excel vba保留格式导出-程序员宅基地

文章浏览阅读1.3k次。目录示例代码Open语句创建文本文件Write语句Index函数取二维数组的子集示例 如图所示,该表为某公司员工个人所得税纳税报表。现需要将该表的数据部分(除标题)另存为以分号(;)为每列分隔符的文本文件,以便上传至其他软件系统中。证件类型 身份证号码 税目编号 含税标志 开始日期 结束日期 天数 税前小计 扣除额 个人所得税 1 5325261XXXX9583 01000 1 20121.._excel vba保留格式导出

3.10 创建教学管理数据库的数据表_根据教材中的“教学管理系统”的数据库,创建表,索引和约束,输入数据并完成以下查-程序员宅基地

文章浏览阅读1.5k次。学生表 教师表 系别表 选课表 课程表 授课表 学号 10 教师编号 4 系别ID 4 选课ID 课程号 4 授课ID ..._根据教材中的“教学管理系统”的数据库,创建表,索引和约束,输入数据并完成以下查

Spring aop编程ProxyFactory切入点运行原理。_proxyfactory指定切点-程序员宅基地

文章浏览阅读418次。序:最近在搞Spring MVC编程,对Spring,做了个小实验,拿出来记录一下。先上代码:public class LoggerExecute implements MethodInterceptor { @Override public Object invoke(MethodInvocation methodInvocation) throws Throwable {_proxyfactory指定切点

随便推点

python 批量安装第三方扩展库_python 第三方库添加扩展-程序员宅基地

文章浏览阅读264次。#批量安装LIB库import oswords=["numpy","matplotlib","pillow","sklearn","requests",\"jieba","beautifulsoup4","wheel","networkx","sympy",\"pyinstaller","django","flask","werobot","pyqt5",\"pandas","pyo..._python 第三方库添加扩展

RedHat5 升级OpenSSH服务-程序员宅基地

文章浏览阅读631次。为什么80%的码农都做不了架构师?>>> ..._redhat 5.6 升级ssh

微信小程序 选项卡demo_微信小程序制作带图标的选项卡-程序员宅基地

文章浏览阅读952次。———-demo.wxss————.swiper-tab{ width: 100%; border-bottom: 2rpx solid #777777; text-align: center; line-height: 80rpx;} .swiper-tab-list{ font-size: 30rpx; display: inli_微信小程序制作带图标的选项卡

Redis应用2-Redis实现开发者头条页面点赞功能_redis消息队列实现点赞功能go-程序员宅基地

文章浏览阅读1.6w次,点赞19次,收藏48次。Redis应用2-Redis实现开发者头条页面点赞功能开发者头条是一个资源丰富的程序猿学习网站。当网站发布新的咨询的时候,内容优秀的咨询总是会被点赞。今天就利用Redis实现这个小小的功能。 为什么使用Redis而不是Mysql实现?Redis 和 Mysql应用场景不同。从效率来说: Redis的数据存放在内存,所以速度快但是会受到内存空间限制。 MySQL存放在硬盘,在速度上肯定没有Re_redis消息队列实现点赞功能go

Cg学习笔记(一)-程序员宅基地

文章浏览阅读817次。何为Cg语言?Cg代表“用于图形的C ”_cg学习笔记

设计模式之组合模式_组合模式 大型企业总部、分支机构、部门-程序员宅基地

文章浏览阅读1.3k次,点赞4次,收藏14次。1 引用大型企业都会有总部直属部门和分公司,分公司则又会有各自的小部门;这里,小部门组成了分公司,分公司和直属部门组成总公司,当总公司下发通知的时候,需要经过每一个分公司到达各子部门。这种结构类似于树形结构:要想用代码实现上述发送通知的功能,一般思路会有点复杂 ,需要构建总部直属部门的类、分公司类以及分公司子部门的类,在代码结构中,这样显得非常冗余,而且一旦改变或者新增一个大区,则会增加修改..._组合模式 大型企业总部、分支机构、部门