6.1 Merge Sorted Array

来源:互联网 发布:公知和五毛是什么意思 编辑:程序博客网 时间:2024/06/08 07:30

原题链接:https://oj.leetcode.com/problems/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 and nrespectively.

我这次写的和戴的代码一样。Time: O(m+n), Space: O(1)

public class Solution {    public void merge(int A[], int m, int B[], int n) {        int i = m - 1;        int j = n - 1;        int k = m+n-1;        while(i >=0 && j >= 0){            if(A[i] >= B[j]){                A[k--] = A[i--];            }            else{                A[k--] = B[j--];            }        }        while(j >=0){            A[k--] = B[j--];        }    }}
原来的代码:(区别是什么?)

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



0 0
原创粉丝点击