leetcode---Intersection of Two Linked Lists
来源:互联网 发布:微表情识别软件 编辑:程序博客网 时间:2024/05/16 06:58
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; ListNode *pA = headA; ListNode *pB = headB; int lenA = 0; int lenB = 0; while(pA) { pA = pA->next; lenA++; } while(pB) { pB = pB->next; lenB++; } pA = headA; pB = headB; if(lenA > lenB) { int i = 0; while(i++ < lenA - lenB) pA = pA->next; } else { int i = 0; while(i++ < lenB - lenA) pB = pB->next; } bool find = false; while(pA && pB) { if(pA->val == pB->val) { find = true; break; } pA = pA->next; pB = pB->next; } return find ? pA : NULL; }};
0 0
- [leetcode] [leetcode]Intersection of Two Linked Lists
- 【LeetCode】Intersection of Two Linked Lists
- LeetCode: Intersection of Two Linked Lists
- [Leetcode] Intersection of Two Linked Lists
- [Leetcode]Intersection of Two Linked Lists
- LeetCode:Intersection of Two Linked Lists
- leetcode: Intersection of Two Linked Lists
- Leetcode: Intersection of Two Linked Lists
- Intersection of Two Linked Lists--leetcode
- [leetcode]Intersection of Two Linked Lists
- leetcode:Intersection of Two Linked Lists
- leetcode之Intersection of Two Linked Lists
- 【Leetcode】:Intersection of Two Linked Lists
- leetcode Intersection of Two Linked Lists
- [LeetCode]Intersection of Two Linked Lists
- leetcode: Intersection of Two Linked Lists
- 【LeetCode】Intersection of Two Linked Lists
- LeetCode Intersection of Two Linked Lists
- JavaScript、HTML、CSS学习—思维导图
- 前端性能优化的方法和工具,减少http请求的次数和速度
- Using the sed editor in Linux - from Oracle Tech Network
- 3462: DZY Loves Math II
- 数据结构实验之数组一:矩阵转置
- leetcode---Intersection of Two Linked Lists
- eclipse c++安装
- POJ 1579 Function Run Fun【递归转循环】
- C++ const 总结
- Java设计模式(行为型)之-模板方法模式
- VB.NET使用LhSocket5Net创建Socket5服务器
- ajaxFileUpload带参数提交
- STL笔记(3)-deque,queue,stack,list容器
- iOS 静态类库 打包 C,C++文件及和OC混编