链接:面试经典 150 题 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台
1.合并两个有序数组
思路:
两个指针分别指向两个数组的末尾,向前遍历比较大小,将大的依次逆向填充到nums1中
代码:
class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int l=nums1.length-1;int i=m-1,j=n-1;while(i>=0&&j>=0){if(nums1[i]>nums2[j]){nums1[l--]=nums1[i];i--;}else{nums1[l--]=nums2[j];j--;}}while(i>=0){nums1[l--]=nums1[i--];}while(j>=0){nums1[l--]=nums2[j--];}}
}