2022-08-15 17:23阅读: 25评论: 0推荐: 0

力扣-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%,老哥们还能写出多快速简单的解法
我感觉都忘了双指针怎么写,或者说,没写过这种双指针

本文作者:YaosGHC

本文链接:https://www.cnblogs.com/yaocy/p/16589020.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   YaosGHC  阅读(25)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起