末日搭车指南
面向人生编程

导航

 

2020年8月17日

摘要: 方法一: 暴力法 遍历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)