88. Merge Sorted Array

来源:互联网 发布:淘宝口令红包怎么领取 编辑:程序博客网 时间:2024/05/21 01:55


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

Note:
You may assume that nums1 has enough space (size that is greater or equal tom + n) to hold additional elements from nums2. The number of elements initialized innums1 and nums2 are m and n respectively.


public class Solution {    public void merge(int[] nums1, int m, int[] nums2, int n) {        int i=m-1,j=n-1;        int k=m+n-1; //不使用额外的空间,两个数组都从最后一个元素开始遍历,nums1有m+n的空间,从M+n-1开始从后往前放置比较大小后的元素        while(i>=0&&j>=0&&k>=0)        {            if(nums1[i]>=nums2[j])            {                nums1[k]=nums1[i];                i--;                k--;            }            else             {                nums1[k]=nums2[j];                j--;                k--;            }        }        while(j>=0)        {            nums1[k]=nums2[j];            k--;            j--;        }    }}

0 0
原创粉丝点击