Friday, July 24, 2015

Merge Sorted Array -- Leetcode

Question:
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
Note:
You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The number of elements initialized in nums1and nums2 are m and n respectively.
Answer:
class Solution {
public:
    void merge(int A[], int m, int B[], int n) {
    int pos = m + n -1;
    while( m>0 && n>0)
    {
        if( A[m-1] < B[n-1])
        {
            A[pos] = B[n-1];
            pos--;
            n--;
        } 
        else
        {
            A[pos] = A[m-1];
            pos--;
            m--;
        }
    }
    while( n >0)
    {
        A[pos] = B[n-1];
        pos--;
        n--;
    }       
    }
};

No comments:

Post a Comment