【数据结构】二叉树详解(2)

⭐️ 前言

✨ 往期文章链接:二叉树的概念性质

上一篇我们讲了二叉树的结构定义,以及前序/中序/后序 的递归遍历,还有一些二叉树的接口实现,本篇我们补充一个二叉树的接口 BinaryTreeDepth。✨上一篇文章链接:二叉树详解(1)

前篇:



⭐️二叉树的其他接口

c 复制代码
// 求二叉树的深度
int BinaryTreeDepth(BinaryTreeNode* root);

BinaryTreeDepth 实现:

c 复制代码
int BinaryTreeDepth(BinaryTreeNode* root) {
	// 空树没有高度直接返回0
	if (root == NULL) {
		return 0;
	}
	
	// 递归获取左子树的高度
	int leftTreeDepth = BinaryTreeDepth(root->left);
	// 递归获取右子树的高度
	int rightTreeDepth = BinaryTreeDepth(root->right);

	// 比较左子树和右子树的高度 取较高的同时在加上当前这一层的高度
	return leftTreeDepth > rightTreeDepth ? leftTreeDepth + 1 : rightTreeDepth  + 1;
}

BinaryTreeDepth 递归流程图:


相关推荐
月落归舟37 分钟前
帮你从算法的角度来认识二叉树---(二)
算法·二叉树
清华都得不到的好学生2 小时前
数据结构->1.稀疏数组,2.数组队列(没有取模),3.环形队列
java·开发语言·数据结构
SilentSlot2 小时前
【数据结构】Hash
数据结构·算法·哈希算法
江苏世纪龙科技2 小时前
【世纪龙科技】当智能网联汽车教学遇上“数字孪生”
学习
是娇娇公主~2 小时前
Lambda表达式详解
数据结构·c++
杰尼龟3682 小时前
Convince Develop 学习笔记
笔记·学习
不早睡不改名@2 小时前
Netty源码分析---Reactor线程模型深度解析(二)
java·网络·笔记·学习·netty
样例过了就是过了3 小时前
LeetCode热题100 柱状图中最大的矩形
数据结构·c++·算法·leetcode
BlockChain8883 小时前
区块链的组件:从数据结构到去中心化共识
数据结构·去中心化·区块链
婷婷_1723 小时前
【PCIe验证每日学习·Day25】PCIe 电源管理机制(L0s/L1/L2/L3)全解析
网络·学习·程序人生·芯片·电源管理·pcie 验证·低功耗状态