题解 | #合并两个有序的数组#
合并两个有序的数组
https://www.nowcoder.com/practice/89865d4375634fc484f3a24b7fe65665
# # # @param A int整型一维数组 # @param B int整型一维数组 # @return void # class Solution: def merge(self , A, m, B, n): # write code here p,q = m-1,n-1 tail = m+n-1 while p >= 0 or q >= 0: if p == -1: A[tail] = B[q] q -= 1 elif q == -1: A[tail] = A[p] p -= 1 elif A[p] > B[q]: A[tail] = A[p] p -= 1 else: A[tail] = B[q] q -= 1 tail -= 1 return A
双指针的典型应用,哪个数组的值大就放在A的后面,如果还有剩余的就把该数组的值全都添加到A中