题目
https://www.nowcoder.com/practice/6e630519bf86480296d0f1c868d425ad?tpId=190&&tqId=35178&rp=1&ru=/ta/job-code-high-rd&qru=/ta/job-code-high-rd/question-ranking
package main
import . "nc_tools"
/*
* type ListNode struct{
* Val int
* Next *ListNode
* }
*/
/**
*
* @param head ListNode类
* @return ListNode类
*/
func detectCycle( head *ListNode ) *ListNode {
if head == nil {
return head
}
fast := head
slow := head
for fast != nil && slow != nil {
if fast.Next != nil {
fast = fast.Next.Next
}else {
return nil
}
slow = slow.Next
if slow == fast {
break
}
}
if fast == nil || slow == nil {
return nil
}
for fast != head {
fast = fast.Next
head = head.Next
}
return fast
// write code here
}
全部评论
(0) 回帖