diff --git a/java/88-Merge-Sorted-Array.java b/java/88-Merge-Sorted-Array.java new file mode 100644 index 000000000..6f6a858b7 --- /dev/null +++ b/java/88-Merge-Sorted-Array.java @@ -0,0 +1,19 @@ +class Solution { + + // Time: O(m+n) | Space: O(1) + public void merge(int[] nums1, int m, int[] nums2, int n) { + // Three pointer technique + int r1 = m-1; + int r2 = n-1; + + for(int w = m+n-1; w >= 0; w--) { + if(r1 >= 0 && r2 >= 0) { + nums1[w] = nums1[r1] > nums2[r2] ? nums1[r1--] : nums2[r2--]; + } else if (r1 >= 0) { + nums1[w] = nums1[r1--]; + } else { + nums1[w] = nums2[r2--]; + } + } + } +} \ No newline at end of file