[Leetcode]160. Intersection of Two Linked Lists
来源:互联网 发布:淘宝漫步者官方旗舰店 编辑:程序博客网 时间:2024/06/06 16:54
Write a program to find the node at which the intersection of two singly linked lists begins.
For example, the following two linked lists:
A: a1 → a2 ↘ c1 → c2 → c3 ↗ B: b1 → b2 → b3
begin to intersect at node c1.
Notes:
- If the two linked lists have no intersection at all, return
null
. - The linked lists must retain their original structure after the function returns.
- You may assume there are no cycles anywhere in the entire linked structure.
- Your code should preferably run in O(n) time and use only O(1) memory.
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { if (headA == NULL || headB == NULL) return NULL; int i = 1; int j = 1; ListNode* p = headA; ListNode* q = headB; while (p->next != NULL) { i++; p = p->next; } while (q->next != NULL) { j++; q = q->next; } if (p != q) return NULL; if (i >= j) { for (int k = 0; k != i-j; ++k) headA = headA->next; } else { for (int k = 0; k != j-i; ++k) headB = headB->next; } while (headA != headB) { headA = headA->next; headB = headB->next; } return headA; }};
0 0
- [LeetCode]160.Intersection of Two Linked Lists
- LeetCode 160. Intersection of Two Linked Lists
- 【LeetCode】160.Intersection of Two Linked Lists
- [leetcode] 160.Intersection of Two Linked Lists
- [LeetCode]160. Intersection of Two Linked Lists
- LeetCode--160. Intersection of Two Linked Lists
- LeetCode 160. Intersection of Two Linked Lists
- 【LeetCode】160. Intersection of Two Linked Lists
- Leetcode 160. Intersection of Two Linked Lists
- LeetCode *** 160. Intersection of Two Linked Lists
- LeetCode 160. Intersection of Two Linked Lists
- leetcode-160. Intersection of Two Linked Lists
- LeetCode-160.Intersection of Two Linked Lists
- LeetCode 160. Intersection of Two Linked Lists
- Leetcode 160. Intersection of Two Linked Lists
- LeetCode 160. Intersection of Two Linked Lists
- leetcode 160. Intersection of Two Linked Lists
- 160.[Leetcode]Intersection of Two Linked Lists
- Java 异常处理
- 简单的自定义View
- Redistribute
- xx.xcodeproj cannot be opened because the project file cannot be parsed.Xcode工程文件打不开
- 常规功能和模块自定义系统 (cfcmms)—051一对多(OneToMany)字段的加入
- [Leetcode]160. Intersection of Two Linked Lists
- 使用 OpenCV 得到图片线稿
- Java 流(Stream)、文件(File)和IO
- 第三章 DispatcherServlet详解
- Android 开发中屏蔽物理键盘
- ant编译java 和eclipse编译的差别
- 太用力的人跑不远
- An attempt by a client to checkout a Connection has timed out.
- Android开发之LayoutInflater的三种实例化方式