字节跳动面试题求叶子节点到叶子节点的最大距离_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

智能推荐

go 在 win10 上编译问题_go语言在win上编译失败-程序员宅基地

文章浏览阅读459次。1、win10上编译 go 报错,缺少gcc,安装 MinGW后报错# github.com/DataDog/zstdcc1.exe: sorry, unimplemented: 64-bit mode not compiled in重新下载编译好的MinGW,并配置 bin 目录到环境变量https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/m..._go语言在win上编译失败

AspectJ 使用注解替代xml_aspectj-autoproxy 注解替换-程序员宅基地

文章浏览阅读179次。@Service("userService")public class UserServiceImpl implements IUserService { private String name; public String getName() { return name; } public void setName(String name..._aspectj-autoproxy 注解替换

PostgreSQL备份恢复之pgbackRest恢复_pgbackres恢复到新库-程序员宅基地

文章浏览阅读1k次。接着上一篇pg备份文档:https://blog.csdn.net/weixin_41561946/article/details/104183555六、 pgbackRest恢复1. 查看现有备份[cddb@cddb-node1 ~]$ pgbackrest infostanza: demostatus: okcipher: aes-256-cbcdb (current)wal ..._pgbackres恢复到新库

ESP8266 SDK开发 PWM呼吸灯_non-os 2.2.0 pwm-程序员宅基地

文章浏览阅读524次。本例程基于ESP8266 NONOS 2.0 的PWM呼吸灯LED为IO4引脚程序如下:#include "user_config.h" // 用户配置#include "driver/uart.h" // 串口#include "c_types.h" // 变量类型#include "eagle_soc.h" // GPIO函数、宏定义#include "ets_sys.h" // 回调函数#include "os_type.h" // os_XXX#i_non-os 2.2.0 pwm

无人船应用_无人运输船运用-程序员宅基地

文章浏览阅读1w次,点赞4次,收藏27次。研制的无人船预期的目标:1. 智能导航:高精度GNSS(GPS、Galileo、GLONASS、BeiDou);高精度陀螺仪;2. 可折叠式船体设计:无人船采用采用充气式双体结构,浮体为进口1.2mm厚高分子PVC夹网材料,便于无人船的携带和组装;平台支架为316高强度不锈钢材料,采取可拆卸方式,便于无人船的组装和维护;3. 无人操控:无人船可通过遥控器远程操控,也_无人运输船运用

华为申请鸿蒙星河和HarmonyOS NEXT 商标,有望年内发布-程序员宅基地

文章浏览阅读40次。华为技术有限公司申请注册“鸿蒙星河”“HarmonyOS NEXT”商标,国际分类为科学仪器,当前商标状态均为等待实质审查。此前在 1 月 18 日举行的鸿蒙生态千帆启航仪式上,华为宣布HarmonyOSNEXT 鸿蒙星河版系统开发者预览版开放申请,将在 Q2(第二季度)启动开发者 Beta 计划,Q4(第四季度)发布商用版。HarmonyOS NEXT 开发者预览版将不再兼容安卓开源应用,仅...

随便推点

Hive与HBase实现数据互导_hbase通过hive导出数据-程序员宅基地

文章浏览阅读1.8w次。Hive与HBase实现数据互导建立与HBase的识别表hive> create table hive_hbase_1(key int,value string) > stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' > WITH SERDEPROPERTIES ("hbase.columns.ma_hbase通过hive导出数据

潮流计算程序————电力网络的节点编号优化(Tinney-1编号)(Python语言描述)_节点优化编号-程序员宅基地

文章浏览阅读1.8k次。Tinney-1编号import numpy as npdef tinney_1(id): it = np.mat(np.zeros((1, len(id)))) flag = np.mat(np.zeros((1, len(id)))) k = 1 newnum = 0 while 1: have = 0 for i in range(len(id)): if flag[0, i] == 0: _节点优化编号

octomap rviz gazebo_octomap python-程序员宅基地

文章浏览阅读148次。roslaunch aubo_gazebo aubo_i5_gazebo.launchroslaunch aubo_i5_moveit_config moveit_rviz.launch config:=trueroslaunch collisiondetection octomap_display.launch_octomap python

【Docker】Docker 启动prometheus报错 parsing YAML file /etc/prometheus/prometheus.yml: yaml: unmarshal_failed: parsing yaml file alert.yml: yaml: unmarsh-程序员宅基地

文章浏览阅读4.6k次。1.背景本地docker 安装prometheus,然后启动,报错如下(base) lcc@lcc grafana-storage$ docker logs 790f84fb094904a96b8d16ce808bdee20ecdd7e40c875f4cf2b659d61efc68aclevel=info ts=2020-05-12T00:55:58.114Z caller=main.go:302 msg="No time or size retention was set so using the._failed: parsing yaml file alert.yml: yaml: unmarshal errors: line 1: field g

UART协议总结_uart握手-程序员宅基地

文章浏览阅读2.8k次。这篇总结下UART简介UART,Universal Asynchronous Receiver/Transmitter的简称,通用的异步收发传输器。有三根线,TX,RX,GND,拓扑如下:特点TX,RX在空闲时状态都为逻辑1先发送字节低位,再发送字节高位起始位:先发出一个逻辑0的信号,标识传输数据的开始。数据位:紧接起始位之后,数据位个数可以是7位、8位、9位长校验位:可选..._uart握手

CentOS 7 安装 MySQL 8-程序员宅基地

文章浏览阅读207次。CentOS 7 安装MySQL 81.下载2.解压1.下载打开 [MySQL 官方下载地址](https://downloads.mysql.com/archives/community/)选择我们要安装的版本 32位系统选择第一个 64位系统选择第二个2.解压创建 tar.xz 文件命令:tar cvf xxx.tar xxx/ 得到 xxx.tar文件,然后 xz ...

推荐文章

热门文章

相关标签