LeetCode:1669. 合并两个链表(python3)

Posted 南岸青栀*

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode:1669. 合并两个链表(python3)相关的知识,希望对你有一定的参考价值。

1669. 合并两个链表

在这里插入图片描述

方法:三指针法

在这里插入图片描述

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:
    def mergeInBetween(self, list1: ListNode, a: int, b: int, list2: ListNode) -> ListNode:
        cur = ListNode(-1)
        cur.next = list1
        #定义三个指针 an,a_pre,bn
        an,a_pre = cur.next,cur
        bn = cur.next
        countb = counta = 0
        #同时寻找第a个节点和第b个节点
        while countb <= b:
            if counta < a:
                an = an.next
                a_pre = a_pre.next
                counta += 1
            bn = bn.next
            countb += 1
        #开始连接链表
        a_pre.next = list2
        while list2.next:
            list2 = list2.next
        list2.next = bn
        return cur.next

以上是关于LeetCode:1669. 合并两个链表(python3)的主要内容,如果未能解决你的问题,请参考以下文章

合并两个有序链表【递归、迭代】

JZ-016-合并两个排序的链表

LeetCode JavaScript实现 合并链表 题型汇总

剑指offer十六之合并两个排序的链表

合并两个有序链表_21

链表:合并两个有序的链表