88. Merge Sorted Array

Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.

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 nums1 and nums2 are m and n respectively.

public class Solution {
    // When dealing with array or list, always pay attention to index.
    // When moving, don't forget some index.
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        int cur = m + n - 1;
        int cur1 = m - 1;
        int cur2 = n - 1;
        while (cur1 >= 0 && cur2 >= 0) {
            if (nums1[cur1] > nums2[cur2]) {
                nums1[cur] = nums1[cur1];
            } else {
                nums1[cur] = nums2[cur2];
        while (cur2 >= 0) {
            nums1[cur] = nums2[cur2];

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s