您的位置:首页 > 其它

LeetCode-Merge Sorted Array

2015-02-10 03:23 375 查看
两个有序array,A的空间足够大。这种从head开始填充需要移动every element的,都从tail开始,因为已知了大小,已知了结束位置。

public class Solution {

    public void merge(int A[], int m, int B[], int n) {

        int inA = m - 1;

        int inB = n - 1;

        int pos = m + n -1;

        while ( pos >= 0 ){

            if ( inA >= 0 && inB >= 0 ){

                if (A[ inA ] > B[ inB ]){

                     A[ pos ] = A[ inA ];

                     inA --;

                }

                else {

                    A [pos] = B[ inB ];

                    inB --;

                }

            }

            else if ( inB < 0 ){

                A [ pos ] = A[ inA ];

                inA --;

            }

            else {

                A [ pos ] = B[ inB ];

                inB --;

            }

            pos --;

        }

        

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: