LeetCode 1669 合併兩個鍊錶

2022-03-26 04:27:15 字數 1628 閱讀 9500

difficulty:中等

給你兩個鍊錶list1list2,它們包含的元素分別為n個和m個。

請你將list1中第a個節點到第b個節點刪除,並將list2接在被刪除節點的位置。

下圖中藍色邊和節點展示了操作後的結果:

請你返回結果鍊錶的頭指標。

示例 1:

輸入:list1 = [0,1,2,3,4,5], a = 3, b = 4, list2 = [1000000,1000001,1000002]

輸出:[0,1,2,1000000,1000001,1000002,5]

解釋:我們刪除 list1 中第三和第四個節點,並將 list2 接在該位置。上圖中藍色的邊和節點為答案鍊錶。

示例 2:

輸入:list1 = [0,1,2,3,4,5,6], a = 2, b = 5, list2 = [1000000,1000001,1000002,1000003,1000004]

輸出:[0,1,1000000,1000001,1000002,1000003,1000004,6]

解釋:上圖中藍色的邊和節點為答案鍊錶。

solution

# 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:

dummy = pre = listnode(-1)

i = 0

for i in range(b):

if i < a:

pre.next = list1

pre = pre.next

list1 = list1.next

pre.next = list2

while list2:

pre = pre.next

list2 = list2.next

pre.next = list1.next

return dummy.next

LeetCode 1669 合併兩個鍊錶

題意 給你兩個鍊錶 list1 和 list2 它們包含的元素分別為 n 個和 m 個。請你將 list1 中第 a 個節點到第 b 個節點刪除,並將list2 接在被刪除節點的位置。資料範圍 3 list1.length 1041 a b list1.length 11 list2.length ...

leetcode1669 合併兩個鍊錶

給你兩個鍊錶 list1 和 list2 它們包含的元素分別為 n 個和 m 個。請你將 list1 中第 a 個節點到第 b 個節點刪除,並將list2 接在被刪除節點的位置。下圖中藍色邊和節點展示了操作後的結果 請你返回結果鍊錶的頭指標。示例 1 輸入 list1 0,1,2,3,4,5 a 3...

LeetCode 合併兩個鍊錶

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 遍歷解法 同時不斷遍歷兩個鍊錶,取出小的追加到新的頭節點後,直至兩者其中乙個為空 再將另一者追加的新鍊錶最後 public listnode ...