Merge Sorted Array

来源:互联网 发布:qq群引流软件 编辑:程序博客网 时间:2024/05/29 07:23

难度:2

解法:

归并,如果是按照从小到达从左往右插入A数组,势必要新增一个临时的数组

换成从大到小从右往左,就可以省掉这部分空间

class Solution{public:    void merge(int A[], int m, int B[], int n)    {        int ia=m-1,ib=n-1;        int k=m+n-1;        while(ia>=0 || ib>=0)        {            if(ia>=0&&ib>=0)            {                if(A[ia]>B[ib]) A[k--]=A[ia--];                else    A[k--]=B[ib--];            }            else if(ia>=0)            {                A[k--]=A[ia--];            }            else            {                A[k--]=B[ib--];            }        }    }};


原创粉丝点击