Leetcode 160:Intersection of Two Linked Lists
2016-02-26 00:25
447 查看
Write a program to find the node at which the intersection of two singly linked lists begins.
For example, the following two linked lists:
begin to intersect at node c1.
Notes:
If the two linked lists have no intersection at all, return
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.
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.
class Solution { public: ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { ListNode *p1 = headA; ListNode *p2 = headB; if (p1 == NULL || p2 == NULL) return NULL; while (p1 != NULL && p2 != NULL && p1 != p2) { p1 = p1->next; p2 = p2->next; if (p1 == p2) return p1; //当达到相遇点时,直接返回p1或者p2 if (p1 == NULL) p1 = headB; //当p1比p2先到达结尾时,重新将其移动到第二个链表的头部 if (p2 == NULL) p2 = headA; //当p2比p1先到达结尾时,重新将其移动到第二个链表的头部,这样的话,二者到相遇点的距离是相等的 } return p1; } };
相关文章推荐
- Android Volley完全解析(二),使用Volley加载网络图片
- Disjoint-Set并查集
- Android Volley完全解析(一),初识Volley的基本用法
- UVA 1368(p58)----DNA Consensus String
- jedis 源码阅读三——PipeLine
- Python学习笔记day6
- 自学vim笔记
- UVA 1363(p338)----Joseph's Problem
- C++ 内存分布,编译与运行阶段探索?(暂时不确定标题)
- MongoDB性能优化
- Hibernate.initialize(Obj)用法
- UVA 1354(p197)----Mobile Computing
- hibernate里的session.get()和session.load()区别以及Hibernate.initialize(Obj)用法
- BigInteger大整数类高精度
- struts2自定义拦截器笔记
- UVA 11806 Cheerleaders 拉拉队
- 友元函数与成员函数的一点区别
- leetcode-211-Add and Search Word - Data structure design
- lintcode: Remove Nth Node From End of List
- leetcode 257:Binary Tree Paths