給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為乙個有序陣列。
說明:
示例:
輸入:nums1 = [1,2,3,0,0,0], m = 3執行用時 : 56 ms, 在merge sorted array的python3提交中擊敗了85.08% 的使用者nums2 = [2,5,6], n = 3輸出:[1,2,2,3,5,6]
記憶體消耗 : 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...