LeetCode088 合併兩個有序陣列

2021-09-23 01:43:04 字數 895 閱讀 2377

給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為乙個有序陣列。

說明:

示例:

輸入:nums1 = [1,2,3,0,0,0], m = 3

nums2 = [2,5,6], n = 3輸出:[1,2,2,3,5,6]

執行用時 : 56 ms, 在merge sorted array的python3提交中擊敗了85.08% 的使用者

記憶體消耗 : 12.9 mb, 在merge sorted array的python3提交中擊敗了99.28% 的使用者

class solution(object):

def merge(self, nums1, m, nums2, n):

end = m + n - 1

m -= 1

n -= 1

while end >= 0 and m >= 0 and n >= 0:

if nums1[m] > nums2[n]:

nums1[end] = nums1[m]

m -= 1

else:

nums1[end] = nums2[n]

n -= 1

end -= 1

while n >= 0:

nums1[end] = nums2[n]

end -= 1

n -= 1

s = solution()

res = s.merge([1,2,3,0,0,0],3,[2,5,6],3)

#print(res)

LeetCode 088 合併兩個有序陣列

給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為乙個有序陣列。說明 初始化 nums1 和 nums2 的元素數量分別為 m 和 n。你可以假設 nums1 有足夠的空間 空間大小大於或等於 m n 來儲存 nums2中的元素。示例 輸入...

LeetCode 合併兩個鍊錶

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

LeetCode 合併兩個有序鍊錶

將兩個有序鍊錶合併為乙個新的有序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4輸出 1 1 2 3 4 4class solution else listnode p new head while l1 null l2 null else p p ne...