25 lines
559 B
Java
25 lines
559 B
Java
class Solution {
|
|
public void merge(int[] nums1, int m, int[] nums2, int n) {
|
|
// Shift numbers to right
|
|
for (int i = m - 1, k = nums1.length - 1; i >= 0; --i, --k) {
|
|
nums1[k] = nums1[i];
|
|
}
|
|
|
|
// Merge them
|
|
int j = 0, k = 0;
|
|
for (int i = nums1.length - m; i < nums1.length && j < n; ++k) {
|
|
if (nums1[i] < nums2[j]) {
|
|
nums1[k] = nums1[i];
|
|
++i;
|
|
} else {
|
|
nums1[k] = nums2[j];
|
|
++j;
|
|
}
|
|
}
|
|
|
|
// Add the remainder
|
|
for (; j < n; ++j, ++k) {
|
|
nums1[k] = nums2[j];
|
|
}
|
|
}
|
|
}
|