您的位置:首页 > 其它

【LeetCode】88.Merge Sorted Array(easy)解题报告

2017-11-15 08:54 411 查看
【LeetCode】88.Merge Sorted Array(easy)解题报告

题目地址:https://leetcode.com/problems/merge-sorted-array/description/

题目描述:

  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.

  两种思路,第一种merge sort,但是需要额外空间存储排序好的表。第二种如下,从后往前排序,避免覆盖,直接存到nums1上。

Solution:

class Solution {
public void merge(int[] nums1, int m, int[] nums2, int n) {
int index1 = m-1;
int index2 = n-1;
int index3 = m+n-1;
while(index1>=0 && index2>=0){
if(nums1[index1]>=nums2[index2]){
nums1[index3--] = nums1[index1--];
}else{
nums1[index3--] = nums2[index2--];
}
}
while(index2>=0){
nums1[index3--] = nums2[index2--];
}
}
}


Date:2017年11月15日
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode