leetcodeは2つの秩序配列c++を結合する


2つの配列を結合
2つの秩序整数配列nums 1およびnums 2が与えられ、nums 2がnums 1に結合され、num 1が秩序配列になる.
説明:
初期化nums 1およびnums 2の要素数は、それぞれmおよびnである.nums 1にはnums 2の要素を保存するのに十分な空間(空間サイズがm+n以上)があると仮定できます.例:
入力:
nums1 = [1,2,3,0,0,0], m = 3
nums2 = [2,5,6],       n = 3
  : [1,2,2,3,5,6]

解法1:自分で並べ替えを書く
class Solution {
public:
    void merge(vector& nums1, int m, vector& nums2, int n) {
        int sum=m+n;
        int pos=0;//  nums2     nums1     
        if(n<1) ;// nums2         
        else 
        {
            for(int i=0;i=m)
                {
                    for(int k=nums1.size()-1;k>i;k--)//       
                    {
                        nums1[k]=nums1[k-1];
                    }
                    nums1[i]=nums2[pos];//    
                    pos++;
                    n--;
                    m++;
                }
            }
        }
    }
};

解法2:内蔵のソート関数で
class Solution {
public:
    static bool cmp(const int &a,const int &b)
    {
        return a& nums1, int m, vector& nums2, int n) {
        int sum=m+n;
        int k=0;
        for(int i=m;i