题解 | #合并两个有序的数组#
合并两个有序的数组
https://www.nowcoder.com/practice/89865d4375634fc484f3a24b7fe65665
void merge(int A[], int m, int B[], int n) { //直接合并的话A中元素会有覆盖的问题。 //那么我们就倒着来归并就不会有覆盖的问题了,注意细节实现,考虑周全就好了。 int indexa=m-1; int indexb=n-1; int end=m+n-1; while(indexb>=0 && indexa>=0) { if(A[indexa]>B[indexb]) { A[end]=A[indexa]; indexa--; }else { A[end]=B[indexb]; indexb--; } end--; } while(indexb>=0) { A[indexb]=B[indexb]; indexb--; } }