leetcode_Intersection of Two Linked Lists_easy_主要是方法
来源:互联网 发布:城市综合治理大数据 编辑:程序博客网 时间:2024/06/13 20:24
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.
方法:计算两个链表的长度差len,然后让长的先走len长度,后面2个链表同步走找重合的节点即可。
/** * 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) { int lenA=0,lenB=0; ListNode *tmpA=headA,*tmpB=headB; while(tmpA!=NULL) { lenA++; tmpA=tmpA->next; } while(tmpB!=NULL) { lenB++; tmpB=tmpB->next; } int len; len=lenA>=lenB?(lenA-lenB):(lenB-lenA); ListNode *h1,*h2; h1=lenA>=lenB?headA:headB;//长的链表 h2=lenA<lenB?headA:headB;//短的链表 while(len-->0) h1=h1->next; while(h1!=h2) { h1=h1->next; h2=h2->next; } if(h1!=NULL) return h1; else return NULL; }};
0 0
- leetcode_Intersection of Two Linked Lists_easy_主要是方法
- LeetCode_Intersection of Two Linked Lists
- LeetCode_intersection-of-two-linked-lists
- LeetCode之Intersection of two linked list不同方法
- Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- Leetcode_160_Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- Intersection of Two Linked Lists
- java中获取比毫秒更为精确的时间
- OC学习笔记二---面向对象
- 1.2 [Android] 内存泄漏调试经验分享 (一)
- easyui中的colModel中的一些参数
- Spring HttpInvoke实现,以及效率提升!
- leetcode_Intersection of Two Linked Lists_easy_主要是方法
- POJ 1035 Spell checker(字符串处理)
- 第一个出现一次的字符
- 一个简单的asp.net 单点登录实现
- Getting Started with Qt 开始使用Qt
- java中向线程中传数据
- Activity的launchMode
- 我一直想做你的阳光
- iOS加载并显示bundle的.txt文件的方法