Leetcode: Merge Sorted Array

来源:互联网 发布:俄罗斯与中国知乎 编辑:程序博客网 时间:2024/06/11 23:42

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 to hold additional elements from B. The number of elements initialized in A and B are m and n respectively.

从后往前即可。

class Solution {public:    void merge(int A[], int m, int B[], int n) {        int index = m + n;        for (--m, --n; m >= 0 && n >= 0;) {            if (A[m] <= B[n]) {                A[--index] = B[n--];            }            else {                A[--index] = A[m--];            }        }                while (m >= 0) {            A[--index] = A[m--];        }        while (n >= 0) {            A[--index] = B[n--];        }    }};

===================第二次=====================

class Solution {public:    void merge(int A[], int m, int B[], int n) {        int index = m + n;        while (m > 0 && n > 0) {            if (A[m-1] >= B[n-1]) {                A[--index] = A[--m];            }            else {                A[--index] = B[--n];            }        }                while (n > 0) {            A[--index] = B[--n];        }    }};



0 0
原创粉丝点击