leetcode:88. 合并两个有序数组(双指针)

题目:

在这里插入图片描述

分析:

看题解:
一个从后往前的双指针就可以腊鸭!我太菜。

代码python:

def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
         c=len(nums1)-1
         m=m-1
         n=n-1
         while c>=0:
                  if m==-1:
                          nums1[c]= nums2[n]
                          n=n-1
                          c=c-1
                          continue
                  if n==-1:
                          nums1[c]= nums1[m]
                          m=m-1
                          c=c-1
                          continue
                  if nums1[m]>nums2[n]:
                           nums1[c]=nums1[m]
                           m=m-1
                  else :
                           nums1[c]=nums2[n]
                           n=n-1
                  c=c-1
                  
                  
                  

没有++,-- 但是还想秀一下:

def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
         c=len(nums1)-1
         m=m-1
         n=n-1
         while c>=0:
                  nums1[c]=max(nums1[m--] if m>=0 else -(1<<30),nums2[n--] if n>=0 else -(1<<30))
                  c=c-1 
发布了335 篇原创文章 · 获赞 235 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42721412/article/details/105406380