leetcode第88题,这是我的暴力答案:
class Solution {
public void merge(int[] nums1, int m, int[] nums2, int n) {
for(int i = 0; i < m+n; i++){
if(i >= m){
nums1[i] = nums2[i-m];
}
}
Arrays.sort(nums1);
}
}
//三个指针向前移动
public class Solution {
public void merge(int[] nums1, int m, int[] nums2, int n) {
int k = m + n - 1;
int i = m - 1;
int j = n - 1;
while (k >= 0) {//只进行一次循环,以后考虑题目尽量考虑一次循环解决问题
if (i < 0) {
nums1[k--] = nums2[j--];
continue;
}
if (j < 0) {
break;
}
if (nums1[i] > nums2[j]) {//从A的最大的元素和B的最大的元素开始比较
nums1[k--] = nums1[i--];
} else {
nums1[k--] = nums2[j--];
}
}
}
}