当前位置: 首页 > news >正文

面试题之求二叉树的深度

题目:输入一棵二叉树的根节点。求该树的深度。从根节点到叶子结点一次经过的结点形成树的一条路径,最长路径的长度为树的深度。根节点的深度为1。

struct BinaryTreeNode{
	int m_nValue;
	BinaryTreeNode *m_pLeft;
	BinaryTreeNode *m_pRight;
};
        假设一棵树仅仅有一个结点。它的深度为1。假设根结点仅仅有左子树而没有右子树,那么树的深度应该是其左子树的深度加1;相同假设根结点仅仅有右子树而没有左子树。那么树的深度应该是其右子树的深度加1。

假设既有右子树又有左子树。那该树的深度就是其左、右子树深度的较大值再加1。

基于以上思路,用递归代码将很easy,详细例如以下:

//递归求深度
int TreeDepth(BinaryTreeNode *pRoot)
{
	if (pRoot==NULL)
		return 0;
	//左子树深度
	int nleft=TreeDepth(pRoot->m_pLeft);
	//右子树深度
	int nRight=TreeDepth(pRoot->m_pRight);
	//返回深度大的子树深度加1
	return (nleft>nRight)?(nleft+1):(nRight+1);
}



转载于:https://www.cnblogs.com/yfceshi/p/6805493.html

相关文章:

  • android笔记5——同一个Activity中Fragment的切换
  • 使用vmimeNET解析账单邮件
  • 关于浏览器端的网页性能测试
  • Qt入门之基础篇 ( 一 ) :Qt4及Qt5的下载与安装
  • 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-如何使用断点
  • SQLServer2005数据库日志文件损坏的情况下如何恢复数据库
  • centos7下yum快速安装 mariadb(mysql)
  • 精讲sql server数据库sysObjects表中xtype字段值的含义
  • 第一个冲刺周期第六天
  • 日志分析 操作
  • Maven中的-D(Properties属性)和-P(Profiles配置文件)
  • 用sql语句dbcc log 查看SQL Server 数据库的事务日志
  • 多线程学习(十二)
  • 用c#读取并分析sql2005日志
  • SQL2005数据行的二进制结构
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • ES6系列(二)变量的解构赋值
  • MySQL的数据类型
  • MySQL用户中的%到底包不包括localhost?
  • Python实现BT种子转化为磁力链接【实战】
  • Spring声明式事务管理之一:五大属性分析
  • Vim Clutch | 面向脚踏板编程……
  • XML已死 ?
  • 番外篇1:在Windows环境下安装JDK
  • 力扣(LeetCode)21
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 微信小程序--------语音识别(前端自己也能玩)
  • 移动端唤起键盘时取消position:fixed定位
  • 异步
  • 如何正确理解,内页权重高于首页?
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (¥1011)-(一千零一拾一元整)输出
  • (C语言)二分查找 超详细
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (转)Mysql的优化设置
  • (轉)JSON.stringify 语法实例讲解
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .NET Core跨平台微服务学习资源
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET导入Excel数据
  • .NET设计模式(8):适配器模式(Adapter Pattern)
  • @FeignClient注解,fallback和fallbackFactory
  • [ NOI 2001 ] 食物链
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [3D游戏开发实践] Cocos Cyberpunk 源码解读-高中低端机性能适配策略
  • [acm算法学习] 后缀数组SA
  • [C#]C# winform实现imagecaption图像生成描述图文描述生成
  • [CentOs7]搭建ftp服务器(2)——添加用户
  • [CTSC2014]企鹅QQ