【leetcode】Merge Sorted Array

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 m andn respectively.

 
从后往前,比较A[i]和B[j],把更大的元素放在A的末尾即可
 
 1 class Solution {
 2 public:
 3     void merge(int A[], int m, int B[], int n) {
 4        
 5         int last=m+n-1;
 6         int i=m-1;
 7         int j=n-1;
 8         while(i>=0||j>=0)
 9         {
10             if(i<0)
11             {
12                 A[last]=B[j];
13                 j--;
14                 last--;
15                 continue;
16             }
17            
18             if(j<0)
19             {
20                 A[last]=A[i];
21                 i--;
22                 last--;
23                 continue;
24             }
25            
26             if(A[i]>B[j])
27             {
28                 A[last]=A[i];
29                 i--;
30             }
31             else
32             {
33                 A[last]=B[j];
34                 j--;
35             }
36             last--;
37         }          
38     }
39 };
原文地址:https://www.cnblogs.com/reachteam/p/4177041.html