88. Merge Sorted Array

题目:

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 mand n respectively.

链接: http://leetcode.com/problems/merge-sorted-array/

题解:  从后向前比较。 Time Complexity - O(m + n), Space Complexity - O(1)。

public class Solution {

    public void merge(int A[], int m, int B[], int n) {

       

       while(m > 0 && n > 0){

         if(A[m - 1] >= B[n - 1]) {

            A[m + n - 1] = A[m - 1];

            m --;

         } else { 

             A[m + n - 1] = B[n - 1];

             n --;

         }

       } 

       

       while(n > 0){

           A[m + n - 1] = B[n - 1];

           n --;

       }

        

    }

}

 

测试:

 

你可能感兴趣的:(array)