二叉树查找值为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;

	
}
相关推荐
星马梦缘33 分钟前
算法与数据结构
数据结构·c++·算法·动态规划·克鲁斯卡尔·kahn
2501_943469151 小时前
【无标题】
数据结构·算法
Snow_day.1 小时前
有关排列排列组合(1)
数据结构·算法·贪心算法·动态规划·图论
im_AMBER1 小时前
Leetcode 100 在链表中插入最大公约数
数据结构·c++·笔记·学习·算法·leetcode·链表
独自破碎E2 小时前
【二分法】旋转数组的最小数字
数据结构·算法·排序算法
苦藤新鸡2 小时前
9.找到字符串中所有字母异位词
数据结构·c++·算法·力扣
ltqshs2 小时前
嵌入式C语言-指针数组和数组指针
c语言·数据结构·算法
独自破碎E2 小时前
【归并】数组中的逆序对
java·数据结构·算法
散峰而望3 小时前
【算法竞赛】链表和 list
数据结构·c++·算法·链表·list·哈希算法·推荐算法
w-w0w-w4 小时前
C++中vector的操作和简单实现
开发语言·数据结构·c++