函数与递归:搜索单链表最后一个结点

LinkNode * FindRear(LinkNode *f){
if(f==NULL) return NULL;
else if(f–>link==NULL) return f;
else return FindRear(f->link);
}函数体中第二行代码是递归终止条件,第三行是调用自己简化问题。那么第一行代码if(f==NULL) return NULL;是干啥的?可以去掉吗?

2个回答

异常处理,输入的参数就是Null的话就要立即返回,否则下一步null->next就会出错了

这是递归搜索,需要一个终止条件,如果搜索到最后,那么f=null,就停止搜索了。所有的递归都必须有一个终止条件。

sinat_34927324
sjk1996 不是,递归终止条件是第二句。
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问