LeetCode 160 Intersection of Two Linked Lists(链表)
来源:互联网 发布:大数据安全建设 编辑:程序博客网 时间:2024/06/05 21:20
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.
题目大意:给出两个在某个节点相交的单链表,返回第一个相交节点的指针。
解题思路:设置两个指针p1和p2分别指向headA和headB,然后移动p1和p2。若p1为空,使p1指向headB;若p2为空则使p2指向headA,重复上述过程直到p1 == p2。
代码如下:
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) { struct ListNode *p1; struct ListNode *p2; p1 = headA; p2 = headB; if(p1 == NULL || p2 == NULL) return NULL; while(p1 != p2){ p1 = p1->next; p2 = p2->next; if(p1 == p2) return p1; if(p1 == NULL) p1 = headB; if(p2 == NULL) p2 = headA; } return p1;}
阅读全文
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 160Intersection 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
- 用开源加密库Libgcrypt实现AES加密
- Java实现对Excel数据的读和写
- WebView设置最大高度
- 值域线段树 (玲珑OJ 1117)
- listviewAddheaderview BUG
- LeetCode 160 Intersection of Two Linked Lists(链表)
- Ubuntn14.04下安装Ros Indigo笔记
- ASP.NET 中Web.config 配置连接数据库
- python学习
- Webstorm2017,SVN插件安装
- 使用React模仿大众点评
- Errors while building APK. You can find the errors in the 'Messages' view.
- python数据挖掘包numpy基本操作
- ubuntu笔记6