二叉树查找值为x的节点

递归的思路:先判断是不是空树如果的空就返回NULL;

在判断节点的值是否是x,如果是的话就返回这个节点

不是的话就继续递归

c 复制代码
BTNode* BinaryTreeFind(BTNode* root, int x)
{
	if (root == NULL)
	{
		return NULL;
	}
	if (root->val == x)
	{
		return root;
	}

	BTNode* ret = NULL;
	ret = BinaryTreeFind(root->left, x);
	if (ret)
	{
		return ret;
	}
	ret = BinaryTreeFind(root->right, x);
	if (ret)
	{
		return ret;
	}
	return NULL;

	
}
相关推荐
Irissgwe36 分钟前
map/set/multimap/multiset 的底层逻辑与实现
数据结构·c++·算法·二叉树·stl·c·红黑树
IronMurphy40 分钟前
【算法五十八】23. 合并 K 个升序链表
数据结构·算法·链表
noipp2 小时前
【无标题】
c语言·数据结构·c++·算法
郝学胜-神的一滴3 小时前
完全二叉树与堆底层原理深度剖析 | 手写C++大顶堆实现
java·开发语言·数据结构·c++·python·算法
悠仁さん4 小时前
数据结构 图(代码实现篇 C语言版)
数据结构·算法·图论
Shadow(⊙o⊙)5 小时前
专题四:前缀和
数据结构·算法
Irissgwe6 小时前
AVL树详解
数据结构·c++·算法·二叉树·c·二叉搜索树·avl
北域码匠6 小时前
奇偶归并排序:并行计算的排序利器
数据结构·算法·c#·排序算法
玖玥拾6 小时前
C/C++ 数据结构(五)链表的应用、对象池
c语言·数据结构·c++·链表·对象池·双向链表
2601_961845157 小时前
花生十三网课网盘|百度网盘|下载
数据结构·算法·链表·贪心算法·排序算法·线性回归·动态规划