您的位置:首页 > 职场人生

LeetCode面试题 10.01. 合并排序的数组 [简单]

2020-03-31 18:57 661 查看

题目描述:

给定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳 B。 编写一个方法,将 B 合并入 A 并排序。

初始化 A 和 B 的元素数量分别为 m 和 n。

我的解题:

vector<int> v存放合并的数组

[code]class Solution {
public:
void merge(vector<int>& A, int m, vector<int>& B, int n) {
int i=0,j=0;
vector<int> v;
while(i<m || j<n){
if(i==m)   v.push_back(B[j++]);
else if(j==n)  v.push_back(A[i++]);
else if( A[i]<=B[j] )  v.push_back(A[i++]);
else if( A[i]>B[j])    v.push_back(B[j++]);
}
for(int a=0;a<m+n;a++){
A[a]=v[a];
}
}
};

  • 点赞
  • 收藏
  • 分享
  • 文章举报
Vermouth_su 发布了34 篇原创文章 · 获赞 0 · 访问量 284 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: