如何将找出链表公共结点问题转化为长尾词?

2026-04-11 21:342阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计228个文字,预计阅读时间需要1分钟。

如何将找出链表公共结点问题转化为长尾词?

力扣接链表+思路:先求出两个链表的长度差+同时走,第一个地址相同的点是交点+代码:/* Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */

如何将找出链表公共结点问题转化为长尾词?

力扣链接


思路:

先求出两个链表的长度差

长链表先走差距步

同时走,第一个地址相同的是交点


代码:

/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) { struct ListNode* tailA = headA,* tailB = headB; int lenA = 1, lenB = 1; while(tailA->next) { tailA = tailA->next; ++lenA; } while(tailB->next) { tailB = tailB->next; ++lenB; } if(tailA != tailB) { return NULL; } int gap = abs(lenA - lenB); struct ListNode* longList = headA,* shortList = headB; if(lenA<lenB) { longList = headB; shortList = headA; } while(gap--) { longList= longList->next; } while(longList !=shortList)//比较的是地址 { longList = longList->next; shortList = shortList->next; } return longList; }

本文共计228个文字,预计阅读时间需要1分钟。

如何将找出链表公共结点问题转化为长尾词?

力扣接链表+思路:先求出两个链表的长度差+同时走,第一个地址相同的点是交点+代码:/* Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */

如何将找出链表公共结点问题转化为长尾词?

力扣链接


思路:

先求出两个链表的长度差

长链表先走差距步

同时走,第一个地址相同的是交点


代码:

/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) { struct ListNode* tailA = headA,* tailB = headB; int lenA = 1, lenB = 1; while(tailA->next) { tailA = tailA->next; ++lenA; } while(tailB->next) { tailB = tailB->next; ++lenB; } if(tailA != tailB) { return NULL; } int gap = abs(lenA - lenB); struct ListNode* longList = headA,* shortList = headB; if(lenA<lenB) { longList = headB; shortList = headA; } while(gap--) { longList= longList->next; } while(longList !=shortList)//比较的是地址 { longList = longList->next; shortList = shortList->next; } return longList; }