Leetcode-Merge Sorted Array

LiBlog發表於2014-11-29

Given two sorted integer arrays A and B, merge B into A as one sorted array.

Note:
You may assume that A has enough space (size that is greater or equal to m + n) to hold additional elements from B. The number of elements initialized in A and B are m and n respectively.

Solution:

 1 public class Solution {
 2     public void merge(int A[], int m, int B[], int n) {
 3         int end = m+n-1;
 4         int index1=m-1, index2=n-1;
 5         
 6         while (end>=0){
 7             if (index1<0){
 8                 A[end]=B[index2];
 9                 index2--;
10                 end--;
11             } else if (index2<0){
12                 break;
13             } else {
14                 if (A[index1]>B[index2]){
15                     A[end] = A[index1];
16                     index1--;
17                     end--;
18                 } else {
19                     A[end] = B[index2];
20                     index2--;
21                     end--;
22                 }
23             }
24         }
25     }
26 }

 

相關文章