difficulty:中等
給你兩個鍊錶list1
和list2
,它們包含的元素分別為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 ...