/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
struct ListNode* getIntersectionNode(struct ListNode *headA, struct ListNode *headB)
{
struct ListNode* left=headA;
struct ListNode* right=headB;
int lenA=0,lenB=0,gap=0;
while(left)
{
lenA++;
left=left->next;
}
while(right)
{
lenB++;
right=right->next;
}
if(lenA>lenB)
{
gap=lenA-lenB;
left=headA;
right=headB;
}
else
{
gap=lenB-lenA;
left=headB;
right=headA;
}
while(gap--)
{
left=left->next;
}
while(left)
{
if(left==right) return left;
left=left->next;
right=right->next;
}
return NULL;
}
力扣:160. 相交链表
猜你喜欢
转载自blog.csdn.net/congfen214/article/details/129567770
今日推荐
周排行