ઇଓ 欢迎来阅读子豪的博客(LeetCode刷题篇)
☾ ⋆有什么宝贵的意见或建议可以在留言区留言
ღღ欢迎 素质三连 点赞 关注 收藏
❣ฅ码云仓库:补集王子 (YZH_skr) - Gitee.com
160. 相交链表 - 力扣(LeetCode)https://leetcode.cn/problems/intersection-of-two-linked-lists/submissions/
目录
思路
比较长度编辑
长的先走
编辑
比较结点
总结
思路
O(N^2),先计算两个链表的长度,然后计算长度差,让长的先走差值步
O(N^2),先计算两个链表的长度,然后计算长度差,让长的先走差值步
比较长度
长的先走
比较结点
比较结点
struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB)
{
int lenA = 1, lenB = 1, X = 1, Max = 1;
struct ListNode* longList;
struct ListNode* cura = headA,* curb = headB;
while(cura->next)
{
++lenA;
cura = cura->next;
}
while(curb->next)
{
++lenB;
curb = curb->next;
}
// X表示长度差值
// Max表示长的那个链表的长度
if(lenA>lenB)
{
X=lenA-lenB;
while(X--)
{
headA = headA->next;
}
Max = lenA;
}
else
{
X=lenB-lenA;
while(X--)
{
headB = headB->next;
}
Max = lenB;
}
while(Max--)
{
if(headA == headB)
return headA;
headB = headB->next;
headA = headA->next;
}
return NULL;
}
总结
链表的题,结点题不要空想,要用手画图,然后对着实物图来写代码,思路才清晰
链表的题,结点题不要空想,要用手画图,然后对着实物图来写代码,思路才清晰



