/**
- @param {number[]} nums1
- @param {number} m
- @param {number[]} nums2
- @param {number} n
- @return {void} Do not return anything, modify nums1 in-place instead.
*/varmerge=function(nums1, m, nums2, n){var x = m -1;var y = n -1;var l = m + n -1;while(x >=0&& y >=0){if(nums1[x]> nums2[y]){
nums1[l--]= nums1[x--];}else{
nums1[l--]= nums2[y--];}}while(y >=0){
nums1[l--]= nums2[y--];}};
2 移除元素
双指针
从头遍历数组(i),如果和目标元素不同就赋值(j)。
/**
- @param {number[]} nums
- @param {number} val
- @return {number}
*/varremoveElement=function(nums, val){var j =0;for(var i =0; i < nums.length; i++){if(nums[i]!= val){
nums[j++]= nums[i];}}return j;};