查找值为x的结点
在一棵二叉树中查找值为X的结点,并返回这个结点地址。
如果二叉树是空树,直接返回NULL;
如果不为空,先判断根结点的值是不是我们要找的结点值,如果是直接返回根结点地址,如果不是,那就判断左右子树能不能找到;
如果左右子树都找不到,说明不存在要找的结点,返回NULL。
//二叉树查找值为x的结点
BTNode* TreeFind(BTNode* root, BTDataType x)
{
if (root == NULL)
return NULL;
if (root->data == x)
{
return root;
}
BTNode* ret1 = TreeFind(root->left, x);//去左子树找
if (ret1)
return ret1;
BTNode* ret2 = TreeFind(root->right, x);//去右子树找
if (ret2)
return ret2;
return NULL;
}
标签:结点,return,值为,BTNode,查找,NULL,root
From: https://blog.51cto.com/u_15562309/6987178