算法系列——Merge Sorted Array

来源:互联网 发布:java 注解 注释 编辑:程序博客网 时间:2024/05/21 15:44

题目描述

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 nums1 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;       int j=n-1;       int k=m+n-1;       while(i>=0&&j>=0){           if(nums1[i]>nums2[j])               nums1[k--]=nums1[i--];           else               nums1[k--]=nums2[j--];       }        while(i>=0)            nums1[k--]=nums1[i--];        while(j>=0)            nums1[k--]=nums2[j--];    }}
原创粉丝点击