# Leetcode45：Intersection of Two Linked Lists

358人阅读 评论(0)

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.
/**
* struct ListNode {
*     int val;
*     ListNode *next;
*     ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
<span style="white-space:pre">	</span>int lenA = 0;
int lenB = 0;
{
lenA++;
}
{
lenB++;
}
int n;
if (lenA < lenB)
{
n = lenB - lenA;
for (int i = 0; i < n; i++)
{
}
}
else
{
n = lenA - lenB;
for (int i = 0; i < n; i++)
{
}
}

{
}

}
};

1
0

* 以上用户言论只代表其个人观点，不代表CSDN网站的观点或立场
个人资料
• 访问：60369次
• 积分：2264
• 等级：
• 排名：第16601名
• 原创：148篇
• 转载：119篇
• 译文：0篇
• 评论：3条
个人主页
文章分类
最新评论