一、题目描述
二、解法
思路:就是归并排序的 “合并”部分。
class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { // 把nums1拷贝一份 int[] temp = new int[m]; for (int i = 0; i < m; i++) { temp[i] = nums1[i]; } int p1 = 0, p2 = 0, p = 0; while (p1 < m && p2 < n) { nums1[p++] = temp[p1] < nums2[p2] ? temp[p1++] : nums2[p2++]; } while (p1 < m) nums1[p++] = temp[p1++]; while (p2 < n) nums1[p++] = nums2[p2++]; } }