单向循环链表的合并图解

单向循环链表的合并图解_第1张图片

第一步:创建一个临时节点指针,指向链表 L2 的第一个数据节点即:ListNode * p = B->next->next;
第二步:将链表 L2 的最后一个节点 B 指向链表 L1 的 头节点即链表 L1 的最后一个节点 A 指向的节点:B->next = A->next;
第三步:将链表 L1 的最后一个节点 A 指向链表 L2 的第一个数据节点即 A->next = p;

刚开始,怎么也搞不懂为什么是 B->next->next,然后自己画图,才发现合并后只能有一个头结点
所以去掉了链表 L2 的头结点直接将 L1 的最后一个节点 A 指向 L2 链表的第一个节点 即 B->next->next。

你可能感兴趣的:(数据结构)