sjk1996
2016-05-13 16:32
采纳率: 41.7%
浏览 1.6k

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

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条回答 默认 最新

  • NK_test 2016-05-13 16:39
    已采纳

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

    已采纳该答案
    打赏 评论
  • threenewbee 2016-05-13 21:20

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

    打赏 评论

相关推荐 更多相似问题