码迷,mamicode.com
首页 > 其他好文 > 详细

[LeetCode] Merge Sorted Array [22]

时间:2014-06-11 00:37:42      阅读:314      评论:0      收藏:0      [点我收藏+]

标签:面试   leetcode   algorithm   merge sorted array   合并有序数组   

题目

Given two sorted integer arrays A and B, merge B into A as one sorted array.

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

原题链接(点我)

解题思路

合并两个数组为一个有序数组,这题也很简单,唯一考查的地方就是怎么处理数组,是从前往后还是从后往前。一般情况,从后往前的效率比从前往后高,也要省不少事。代码如下,从后开始合并。

代码实现:

class Solution {
public:
    void merge(int A[], int m, int B[], int n) {
        if(B==NULL || n<=0) return ;
        if(A==NULL || m<=0) {
            for(; n>0; --n)
                A[n-1] = B[n-1];
            return ;
        }
        int i=m-1, j=n-1, k = m+n-1;
        while(i>=0 && j>=0){
            if(A[i]>B[j])
                A[k--] = A[i--];
            else
                A[k--] = B[j--];
        }
        while(j>=0)
            A[k--] = B[j--];
    }
};

如果你觉得本篇对你有收获,请帮顶。
另外,我开通了微信公众号--分享技术之美,我会不定期的分享一些我学习的东西.
你可以搜索公众号:swalge 或者扫描下方二维码关注我
bubuko.com,布布扣
(转载文章请注明出处: http://blog.csdn.net/swagle/article/details/29378433 )

[LeetCode] Merge Sorted Array [22],布布扣,bubuko.com

[LeetCode] Merge Sorted Array [22]

标签:面试   leetcode   algorithm   merge sorted array   合并有序数组   

原文地址:http://blog.csdn.net/swagle/article/details/29378433

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!