Leetcode刷题记录——88. 合并两个有序数组

在这里插入图片描述

思路见我的另一篇题解

https://blog.csdn.net/weixin_41545780/article/details/105474649

class Solution:
    def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
        """
        Do not return anything, modify nums1 in-place instead.
        """
        indexa = 0
        indexb = 0
        while indexa < m and indexb < n:
            if nums2[indexb] < nums1[indexa]:
                self.houyiyiwei(nums1,indexa,m)
                m += 1
                nums1[indexa] = nums2[indexb]
                indexb += 1
            else:
                indexa += 1
        if indexb < n:
            length = n - indexb
            for i in range(length):
                thisindex = i + indexa
                nums1[thisindex] = nums2[indexb]
                indexb += 1
        
                 
    def houyiyiwei(self,inputlist,startindex,m):
        length = len(inputlist)
        for i in range(m - 1,startindex-1,-1):  
            inputlist[i+1] = inputlist[i]

发布了59 篇原创文章 · 获赞 14 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_41545780/article/details/105481767