首页 > 代码库 > Linked List Cycle II
Linked List Cycle II
题目
Given a linked list, return the node where the cycle begins. If there is no cycle, return
null
.Follow up:
Can you solve it without using extra space?
方法
public ListNode detectCycle(ListNode head) { if (head == null || head.next == null) { return null; } ListNode first = head; ListNode second = head; while (second != null) { second = second.next; if (second != null) { second = second.next; } else { return null; } first = first.next; if (second == first) { break; } } if (second == null) { return null; } else { ListNode node = head; while(second != node){ second = second.next; node = node.next; } return node; } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。