您的位置:首页 > 其它

【leetcode】Merge Sorted Array

2015-04-10 20:04 281 查看

Merge Sorted Array

Given two sorted integer arrays A and B, merge B into A as one sorted array.

Note:

You may assume that A has enough space (size that is greater or equal to m + n) to hold additional elements from B. The number of elements initialized in A and B are mand n respectively

这道题目就是从后向前进行比较,然后替换。

特别注意比较外的循环条件,当且仅当有一个数组为0的时候就得退出。后面两个while是把剩余的数据填进去。

class Solution {
public:
void merge(int A[], int m, int B[], int n) {
int num=m+n-1;
int recordA=m-1;
int recordB=n-1;

while(recordA>=0 && recordB>=0)
{
if(B[recordB]>=A[recordA])
{
A[num]=B[recordB];
recordB--;
}
else
{
A[num]=A[recordA];
recordA--;
}
num--;
}

while(recordA>=0)
{
A[num]=A[recordA];
recordA--;
num--;
}
while(recordB>=0)
{
A[num]=B[recordB];
recordB--;
num--;
}
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: