摘要:
方法一: 暴力法 遍历A中每个节点,看看B中有没有 public class Solution { public ListNode getIntersectionNode(ListNode headA, ListNode headB) { if (headA==null||headB==null) 阅读全文
posted @ 2020-08-17 07:44
末日搭车指南
阅读(97)
评论(0)
推荐(0)
摘要:
第一阶段:判断是否有环 第二阶段:判断入环口在哪里 /** * 双指针 时间复杂度 O(n) 空间复杂度 O(1) * * 先用双指针法判断链表是否有环,若有则返回第一次相遇的节点 * * 第一次相遇时,假设【慢指针】 slow 走了 k 步,那么快指针 fast 一定走了 2k 步, * 也就是说 阅读全文
posted @ 2020-08-17 06:15
末日搭车指南
阅读(408)
评论(0)
推荐(0)
摘要:
如果列表中不存在环,最终快指针将会最先到达尾部,此时我们可以返回 false public boolean hasCycle(ListNode head) { if (head == null || head.next == null) { return false; } ListNode slow 阅读全文
posted @ 2020-08-17 04:34
末日搭车指南
阅读(182)
评论(0)
推荐(0)
摘要:
public boolean hasCycle(ListNode head) { Set<ListNode> nodesSeen = new HashSet<>(); while (head != null) { if (nodesSeen.contains(head)) { return true 阅读全文
posted @ 2020-08-17 03:52
末日搭车指南
阅读(142)
评论(0)
推荐(0)
浙公网安备 33010602011771号