88. Merge Sorted Array

原题链接:https://leetcode.com/problems/merge-sorted-array/description/
这道题目级别为 easy,我看了三五分钟确实毫无头绪,无奈之下去看了下讨论区,又是一次震惊的心路历程。。。那就是倒着来排放 nums1 数组的元素即可:

class Solution {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        int i = m - 1, j = n - 1, k = (m + n) - 1;
        while(i > -1 && j > -1) {
            if (nums2[j] > nums1[i]) {
                nums1[k--] = nums2[j--];
            } else {
                nums1[k--] = nums1[i--];
            }
        }
        while(j > -1) {
            nums1[k--] = nums2[j--];
        }
    }
}
posted @ 2018-03-16 16:19  optor  阅读(75)  评论(0编辑  收藏  举报