int isLoop(List l) {2 if ( ! l) return - 1 ;3 List s = l.next;4 while (s && s != l) {5 s = s.next;6 } 7 if ( ! s) return - 1 ;8 else reutrn 1 ;9 } 1int isLoop(List l){ 2 if(!l) return 0; 3 p=l.next; 4 wihle(p!=l&&p!=null) { 5 l.next=l; 6 l=p;p=p.next; 7 } 8 if(p=l) return 1; 9 return 0;10}从链表头开始遍历,如果节点next指针指向自身,则循环存在;否则将next指针指向自身,遍历下一个节点。直至next指针为空,此时链表无循环。 转载于:https://www.cnblogs.com/zzp28/articles/1564070.html