项目场景:
提示:这里简述项目相关背景:
链表练习题
原因分析:提示:这里填写问题的分析:
快慢指针(Floyd 判圈算法) 定义两个指针,一快一满, 慢指针每次只移动一步,而快指针每次移动两步。初始时,慢指针在位置 head,而快指针在位置 head.next,
如果在移动的过程中,快指针反过来追上慢指针,就说明该链表为环形链表,否则快指针将到达链表尾部,该链表不为环形链表
由于这里使用了fast->next->next, 不仅需要判断fast为空,还要判断fast->next是否为空,所以当fast->next为空时也返回错误退出,这表明fast指向最后一个结点,以后不存在结点了
关注
打赏