下面输入一个很诡异的链表,暂时称它为“变异链表”,如图4—3所示。从图中可以看出此链表的尾部形成了一个环,请实现一个时间和空间上尽可能高效率的算法来判断输入的链表是否为“变异链表”,要求: 根据设计思想,采用C、C++或Java语言描述算法,关键之处给

admin2014-04-17  35

问题 下面输入一个很诡异的链表,暂时称它为“变异链表”,如图4—3所示。从图中可以看出此链表的尾部形成了一个环,请实现一个时间和空间上尽可能高效率的算法来判断输入的链表是否为“变异链表”,要求:

根据设计思想,采用C、C++或Java语言描述算法,关键之处给出注释。

选项

答案算法实现如下: //返回true表示有环,反之无环 bool isExitsLoop(Node*head) { //两个指针初始值都指向头结点 N0de *slow=head,*fast=head; while(fast && fast->next) { sloW=alow->next fast=fast->next->next; if(Slow==fast) return true; } return false; }

解析
转载请注明原文地址:https://kaotiyun.com/show/wlxi777K
0

最新回复(0)