题解 | #链表中环的入口结点#

链表中环的入口结点

https://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4

package main

/*
 * type ListNode struct{
 *   Val int
 *   Next *ListNode
 * }
 */

func EntryNodeOfLoop(pHead *ListNode) *ListNode {
    if pHead == nil || pHead.Next == nil {
        return nil
    }
	temp := pHead
	fast, slow := temp, temp
	for fast != nil && fast.Next != nil {
		slow = slow.Next
		fast = fast.Next.Next
		if slow == fast {
			break
		}
	}
	if slow != fast {
		return nil
	}
	fast = pHead
	for fast != slow {
		fast = fast.Next
		slow = slow.Next
	}
	return fast
}

全部评论

相关推荐

出自剑来:找工作就是运气大于实力的事 我们组的应届生也是上周在牛客招聘被百度的捞了,一周速通下of
点赞 评论 收藏
分享
拉丁是我干掉的:把上海理工大学改成北京理工大学。成功率增加200%
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务