拼接两个升序数组,要求拼接后依然是升序

 public static void main(String[] args) {
       int[] arr1 = {1, 2, 3, 4, 5, 6};
       int[] arr2 = {6, 7, 8, 9, 10, 11};
       System.out.println(Arrays.toString(concat(arr1, arr2)));
  }


   static int[] concat(int[] array1, int[] array2) {
          int[] newArr = new int[array1.length + array2.length];
       int i = 0;
       int j = 0;
       int k = 0;
       while (i < array1.length && j < array2.length) {
           if (array1[i] < array2[j]) {
               newArr[k] = array1[i];
               i++;
          } else {
               newArr[k] = array2[j];
               j++;
          }
           k++;
           while (i < array1.length) {
               newArr[k] = array1[i];
               k++;
               i++;
          }
           while (j < array2.length) {
               newArr[k] = array2[j];
               k++;
               j++;
          }

      }
       return newArr;
  }
}

 

posted @ 2021-10-20 11:15  HelelLucifer  阅读(176)  评论(0)    收藏  举报