题解 | #判断链表中是否有环#

判断链表中是否有环

https://www.nowcoder.com/practice/650474f313294468a4ded3ce0f7898b9

package main

import . "nc_tools"

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

/**
 *
 * @param head ListNode类
 * @return bool布尔型
 */
func hasCycle(head *ListNode) bool {
	if head == nil {
		return false
	}
	if head.Next == head {
		return true
	}
	reverseHead := &ListNode{}
	// 遍历节点,所有节点都指向公共节点,如果出现指向一样的,那么判定有环
	for head != nil {
		if head.Next == nil {
			return false
		}
		// 判断自环
		if head.Next == head {
			return true 
		}
		if head.Next.Next == reverseHead {
			return true
		}
		temp := head.Next
		head.Next = reverseHead
		head = temp
	}

	return false
}

全部评论

相关推荐

07-16 14:10
门头沟学院 Java
点赞 评论 收藏
分享
能干的三文鱼刷了10...:公司可能有弄嵌入式需要会画pcb的需求,而且pcb能快速直观看出一个人某方面的实力。看看是否有面试资格。问你问题也能ai出来,pcb这东西能作假概率不高
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务