**Problem Statement:**
You are given two integer arrays `nums1` and `nums2`, sorted in non-decreasing order, and two integers `m` and `n`, representing the number of elements in `nums1` and `nums2` respectively. Merge `nums1` and `nums2` into a single array sorted in non-decreasing order.
**Hint / Expected Approach:**
Three-pointer merge from the end
**Edge Cases to Consider:**
- (1) m = 0 (first array empty)
- (2) n = 0
- (3) All elements of one array are greater