其他分享
首页 > 其他分享> > 力扣-88-合并两个有序数组

力扣-88-合并两个有序数组

作者:互联网

本来觉得很简单,然后准备提交了发现要在数组1里面合并,没有额外空间
然后就有了一个大胆的想法——我直接插进去然后sort

class Solution {
public:
	void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
		// 逆向双指针
		int p1 = m - 1, p2 = n - 1, index = m + n - 1;

		while (p1 >= 0 || p2 >= 0) {
			if (p1 == -1) nums1[index--] = nums2[p2--];
			else if (p2 == -1) nums1[index--] = nums1[p1--];
			else if (nums1[p1] > nums2[p2]) nums1[index--] = nums1[p1--];
			else nums1[index--] = nums2[p2--];
		}
	}
};


时间都没过50%,老哥们还能写出多快速简单的解法
我感觉都忘了双指针怎么写,或者说,没写过这种双指针

标签:p2,index,p1,--,力扣,88,数组,nums1,nums2
来源: https://www.cnblogs.com/yaocy/p/16589020.html