合并两个有序数组 题目大致思路代码实现 题目 大致思路 没有特别的思路,直接遍历对比两个数组的每一个元素,依次存放入新数组,最后将新数组赋给nums1即可。 代码实现 package com.immunize.leetcode.merge; public class merge { public static void merge(int[] nums1, int m, int[] nums2, int n) { int[] dst = new int[m + n]; int i = 0; int j = 0; int k = 0; while (i < m && j < n) { if (nums1[i] < nums2[j]) dst[k++] = nums1[i++]; else dst[k++] = nums2[j++]; } while (i < m) dst[k++] = nums1[i++]; while (j < n) dst[k++] = nums2[j++]; for (i = 0; i < dst.length; i++) { nums1[i] = dst[i]; } } public static void main(String[] args) { int[] nums1 = { 1, 2, 3, 0, 0, 0 }; int[] nums2 = { 2, 5, 6 }; System.out.println("After Merge:"); merge(nums1, 3, nums2, 3); for (int i : nums1) { System.out.print(i + " "); } } }