题目要求
合并两个有序数组
先插入后排序
思路
把数组2插入到数组1后面,然后排序
代码
class Solution(object):
def merge(self, nums1, m, nums2, n):
nums1[m :] = nums2[:n]
nums1 = nums1.sort()
运行结果
反向比较
思路
从尾到头比较 nums1 和 nums2,大的数放在 nums1 的尾部,如果 nums2 中还有剩下的数,就把它们放在 nums1 的头部
代码
class Solution(object):
def merge(self, nums1, m, nums2, n):
i = m - 1
j = n - 1
k = m + n - 1
while i >= 0 and j >= 0:
if nums1[i] < nums2[j]:
nums1[k] = nums2[j]
j -= 1
else:
nums1[k] = nums1[i]
i -= 1
k -= 1
nums1[:j + 1] = nums2[:j + 1]