没有返回值的递归函数,其实就是遍历了,可以选择前序,后序,中序
node*temp=NULL;
void findnode(node*root,int data){
if(root==NULL)
return;
if(root->data==data)
temp=root;
findnode(root->left,data);
findnode(root->right,data);
}
有返回值的递归函数,如果找到,返回节点;找不到,返回NULL
node *findnode(node*root,int data){
if(root==NULL)return NULL;
if(root->data==data)
return root;
if(findnode(root->left,data)!=NULL){
return findnode(root->left,data);
}
return findnode(root->right,data);
}