题目:
给定两个有序数组 nums1 和nums2,将nums2合并到nums1,并使nums1依然是有序数组。样例如下:
解题思路:
对nums2进行遍历,遍历到nums2[i]时,判断nums2[i]和nums1中的每一个数比较,若nums2[i]<nums1[j],则将nums2[i]插入到nums1的j位置,并保存j的值,再遍历到nums2[i+1]时,nums1直接从j+1位置开始即可。
代码如下:
class Solution(object):
def merge(self, nums1, m, nums2, n):
"""
:type nums1: List[int]
:type m: int
:type nums2: List[int]
:type n: int
:rtype: void Do not return anything, modify nums1 in-place instead.
"""
count = 0
for i in range(len(nums2)):
while(nums1[count]<=nums2[i] and count<=m+i-1):
count = count + 1
nums1.insert(count,nums2[i])
count = count + 1
del nums1[-1]