首页 > 代码库 > 【leetcode】Merge Sorted Array

【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             else32             {33                 A[last]=B[j];34                 j--;35             }36             last--;37         }          38     }39 };

 

【leetcode】Merge Sorted Array