本文共 556 字,大约阅读时间需要 1 分钟。
双指针
给出两个有序的整数数组 A 和 B,请将数组 A 合并到数组 B 中,变成一个有序的数组
注意:
可以假设 A 数组有足够的空间存放 B 数组的元素,A 和 B 中初始的元素数目分别为 m 和 n
从后往前看,在每一个位置上选择 A 和 B 中较小的那一个。
public class Solution { public void merge(int A[], int m, int B[], int n) { for(int i = m -1, j = n - 1, k = m+n-1; k >= 0; k--) { // B数组中的数全部用完了就填A数组中的数 if (j < 0 || (i >= 0 && A[i] >= B[j])) { A[k] = A[i]; i--; } else { A[k] = B[j]; j--; } } }}
转载地址:http://ucjvb.baihongyu.com/