Leetcode45:Intersection of Two Linked Lists
来源:互联网 发布:aotudesk是什么软件 编辑:程序博客网 时间:2024/06/03 20:25
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) { <span style="white-space:pre"></span>int lenA = 0;int lenB = 0;ListNode *head1 = headA;<span style="white-space:pre"></span>ListNode *head2 = headB;while (head1!=NULL){head1 = head1->next;lenA++;}while (head2!=NULL){head2 = head2->next;lenB++;}int n;if (lenA < lenB){n = lenB - lenA;head1 = headA;head2 = headB;for (int i = 0; i < n; i++){head2 = head2->next;}}else{n = lenA - lenB;head1 = headA;head2 = headB;for (int i = 0; i < n; i++){head1 = head1->next;}}while (head1 != head2){head1 = head1->next;head2 = head2->next;}return head1; }};
1 0
- Leetcode45: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
- 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
- 477 A+B Problem III
- Javascript 数组对象 操作
- Android之Handler、MessageQueue、Message、Messager与Looper关系
- Akka简介
- 第十一节 进程间通信
- Leetcode45:Intersection of Two Linked Lists
- php框架优秀框架laravel学习(-)
- sqlldr使用中遇到的字符集问题
- 关于提示框的小例子
- Windows下cscope:can't find the source file
- java基础--开发工具
- SHUTDOWN_MSG: Shutting down NameNode at java.net.UnknownHostException
- Tomcat --> Cannot create a server using the selected type
- 一个牛x的mock框架--Powermock