Sunday, May 10, 2015

Merge Sorted Array

来源:Leetcode

原帖:http://oj.leetcode.com/problems/merge-sorted-array/

题目:
Given two sorted integer arrays A and B, merge B into A as one sorted array. You may assume that A has enough space to hold additional elements from B. The number of elements initialized in A and B are m and n respectively.
Solution: From back to forth.

代码:
 class Solution {  
 public:  
   void merge(int A[], int m, int B[], int n) {  
     int i = m - 1;  
     int j = n - 1;  
     int x = m + n - 1;  
     while (i >= 0 && j >= 0) {  
       if (A[i] >= B[j]) {  
           A[x--] = A[i--];  
       } else {  
           A[x--] = B[j--];   
       }         
     }  
     while (j >= 0) { // B is longer than A  
         A[x--] = B[j--];   
     }  
   }  
 };  

No comments:

Post a Comment