题目有图很清晰地展现给我们看了,也就是找相交的点,相交点前一个存放后一个的地址都是一样的相交,还有一个就是要找出哪个结点多,结点多的要先走k步 这样才能在统一战线上!
struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {
//先创建两个指针遍历链表的节点数
struct ListNode*curA=headA;
struct ListNode*curB=headB;
int numA=1;
int numB=1;
while(curA->next!=NULL)
{
numA++;
curA=curA->next;
}
while(curB->next!=NULL)
{
numB++;
curB=curB->next;
}
//取长取短
int gaps=abs(numA-numB);
struct ListNode*longList=headA;
struct ListNode*shortList=headB;
if(numAnext;
}
while(longList!=shortList)
{
longList=longList->next;
shortList=shortList->next;
}
return longList;
多多指教!



