leetcode之Intersection of Two Linked Lists
来源:互联网 发布:电脑恢复数据 编辑:程序博客网 时间:2024/05/18 02:04
问题描述如下:
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.
cpp代码如下:
class Solution {private: int getLengthAndEnd(ListNode* head,ListNode*& tail){ tail=head; int cnt=1; while(tail->next){ ++cnt; tail=tail->next; } return cnt; }public: ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { if(headA==NULL||headB==NULL) return NULL; ListNode* ta=NULL,*tb=NULL; int la=getLengthAndEnd(headA,ta); int lb=getLengthAndEnd(headB,tb); if(ta!=tb) return NULL; if(la>lb){ for(int i=0;i<la-lb;++i) headA=headA->next; } else{ for(int i=0;i<lb-la;++i) headB=headB->next; } while(headA){ if(headA==headB) return headA; headA=headA->next; headB=headB->next; } }};
0 0
- 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] [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
- arm汇编指令
- 咱们去拜佛时为何要烧香点灯
- bp神经网络c语言实现
- Linux GCC常用命令
- ViewPager循环
- leetcode之Intersection of Two Linked Lists
- 分治的思想
- hdu2147 -- kiki's game(博弈论)
- 秋季维护空调很必要管路清洁不行忽略
- Objective-C调用shell脚本
- PHP运行方式
- 算法导论--学习笔记019
- posix多鲜橙程序设计-笔记(-)概述
- 大总管酒店管理软件的功能特点