二叉排序树中查找递归算法为什么要写return

img

BiTree search(BiTree T,int key){
if((!T)||key==T->data) return T;

else if(keydata)
return search(T->lchild,key);
else return search(T->rchild,key);
}

为什么要写下面这两个return 我试了带与不带算法都能实现,求解答,感谢

你是指这样?

BiTree search(BiTree T,int key){
if((!T)||key==T->data) 
  return T;
else if(keydata)
  search(T->lchild,key);
else 
  search(T->rchild,key);
}

确定不写能实现?除非要查找的数在根节点,不然肯定无法获取到结果的好吧。而且下面两个分支没有返回值的话一般会报错吧