题解 | #合并两个有序的数组#

合并两个有序的数组

https://www.nowcoder.com/practice/89865d4375634fc484f3a24b7fe65665

想到后面有空位, 从后往前合并

class Solution {
public:
    void merge(int A[], int m, int B[], int n) {
        //后面有空位, 从大到小合并
        int pa=m-1, pb=n-1, p=m+n-1;
        while(pa>=0 && pb>=0){
            if(A[pa]>B[pb]){
                A[p--] = A[pa--]; 
            }else{
                A[p--] = B[pb--];
            }
        }
        while (pb>=0) {
            A[p--] = B[pb--];
        }
    }
};

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 12:23
转人工😡
门口唉提是地铁杀:五次握手了
点赞 评论 收藏
分享
每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
头顶尖尖的程序员:我是26届的不太懂,25届不应该是找的正式工作吗?为什么还在找实习?大四还实习的话是为了能转正的的岗位吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务