1. /**
    2. * @desc 归并两个有序数组 lettcode #88
    3. * 把归并结果存到第一个数组上
    4. * Input:
    5. * nums1 = [1,2,3,0,0,0], m = 3
    6. * nums2 = [2,5,6], n = 3
    7. * Output: [1,2,2,3,5,6]
    8. *
    9. * **/
    10. function merge(nums1, m, nums2, n) {
    11. let index1 = m - 1;
    12. let index2 = n - 1;
    13. let indexMerge = m + n - 1;
    14. while (index1 >= 0 || index2 >= 0) {
    15. if (index1 < 0) {
    16. nums1[indexMerge--] = nums2[index2--];
    17. } else if (index2 < 0) {
    18. nums1[indexMerge--] = nums1[index1--];
    19. } else if (nums1[index1] > nums2[index2]) {
    20. nums1[indexMerge--] = nums1[index1--];
    21. } else {
    22. nums1[indexMerge--] = nums2[index2--]
    23. }
    24. }
    25. console.log(nums1)
    26. }
    27. merge([1, 2, 3, 0, 0, 0], 3, [2, 5, 6], 3);