判断两链表是否相交,求交点(假设链表不带环)
判断两链表是否相交,求交点(假设链表可能带环)
RingEntry_Point()等函数见前篇.
SListNode* Intersect(SListNode *&L, SListNode *&M)//判断两链表是否相交,求交点(假设链表不带环)
{
//思路:若不带环,只有相交/不想交两种情况
// 与RingEntry_Point()函数方法相同:
// 求两个链表长度之差K,再令一个指针从长链表开始先走K步,令另一个指针从短链表头开始,
// 两链表一起走,相遇点就为入口点
if (L != NULL&&M != NULL)
{
SListNode *cur = L;
SListNode *NewNode = M;
int c1 = _LengthNode(cur);
int c2 = _LengthNode(NewNode);
int minus = _LengthNode(cur) - _LengthN