在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

Golang如何实现单链表找环

157次阅读
没有评论

共计 973 个字符,预计需要花费 3 分钟才能阅读完成。

这篇文章将为大家详细讲解有关 Golang 如何实现单链表找环,丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

问题:一个单向链表,怎样怎么检测是否有环,环的初始节点是什么?

package main
import (
  fmt 
type ListNode struct {
 value int
 next *ListNode
func NewListNode(i int) *ListNode { val := new(ListNode)
 val.value = i
 return val
func main() { a1 := NewListNode(1)
 a2 := NewListNode(2)
 a3 := NewListNode(3)
 a4 := NewListNode(4)
 a5 := NewListNode(5)
 // 1→2→3→4→5
 // ↑???? 
 a1.next = a2
 a2.next = a3
 a3.next = a4
 a4.next = a5
 a5.next = a3
 head := DetectCycle(a1)
 fmt.Println(head.value)
func DetectCycle(head *ListNode) *ListNode {
 fast := head
 slow := head
 for {
 if fast.next == nil || slow.next == nil {
 break
 }
 fast = fast.next.next
 slow = slow.next
 if fast == slow {
 //  找到快慢指针相遇点
 break
 }
 }
 if fast == nil || slow == nil {
 return nil
 }
 //  找到快慢指针相遇点后,快慢指针一样的速度移动,找到环的起点
 slow = head
 for {
 if fast == slow {
 break
 }
 fast = fast.next
 slow = slow.next
 }
 return slow
}

关于“Golang 如何实现单链表找环”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计973字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 欧美多人换爱交换乱理伦片 | 免费99热在线观看 | 欧美一区内射最近更新 | 高中生粉嫩无套第一次 | 99热久久久久久久免费观看 | 黄的日本免费大片 | 无码视频一区二区三区 | 九九久久自然熟的香蕉图片 | 美女二区| 无码精品国产dvd在线观看9久 | 天天射天天干天天 | 四虎电影免费观看网站 | 伊人精品视频 | 久久国产亚洲电影天堂 | 中文精品久久久久人妻不卡 | 18精品久久久无码午夜福利 | 久夜色精品国产一区二区三区 | 久久激情综合网 | 欧美日本一区视频免费 | 妹子干综合 | 能在线观看的一区二区三区 | 欧美视频一区 | 图片区网友自拍另类图区 | 色婷婷亚洲综合 | 日本一级片免费看 | 无码国产精品一区二区高潮 | 国产av无码专区亚洲av男同 | 亚洲国产日产无码精品 | 无遮挡一级毛片呦女视频 | 国产午夜无码片在线观看影院 | 在线日韩国产 | 青青青在线视频 | 性生交大片免费看女人按摩摩 | 国产无套粉嫩白浆在线 | 成人国产精品免费网站 | 豆国产97在线 | 中国 | 最近免费中文字幕mv在线视频3 | 国产免费一区二区三区在线观看 | 午夜影院在线播放 | 国产精品一区二区久久沈樵 | 亚洲精品免费在线观看 |