欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

面试题 10.01. 合并排序的数组

程序员文章站 2022-06-07 23:42:35
...

题目来源

leetcode

题目描述

面试题 10.01. 合并排序的数组

题目解析

双指针 + 从后向前比较

    public static void merge(int[] A, int m, int[] B, int n) {
       if (B == null || n == 0){
           return ;
       }
       
       int idx1 = m - 1;
       int idx2 = n - 1;
       int cur = m + n - 1;
       while (idx1 > -1 && idx2 > -1){
           if (B[idx2] > A[idx1]){
               A[cur--] = B[idx2--];
           }else {
               A[cur--] = A[idx1--];
           }
       }

       if (idx2 != -1){
           System.arraycopy(B, 0, A, 0, idx2 + 1);
       }
   }

面试题 10.01. 合并排序的数组

相关标签: # 易错题