试用于 nums 中 等于val的数比较多的情况
function removeElement1(nums: number[], val: number): number {
if (!nums || nums.length === 0) return 0;
let l = 0;
let r = 0;
while (r < nums.length) {
if (nums[r] !== val) {
nums[l] = nums[r];
l++;
}
r++;
}
return l;
}
试用于 nums 中 等于val的数比较少的情况
function removeElement(nums: number[], val: number): number {
if (!nums || nums.length === 0) return 0;
let l = 0;
let r = nums.length;
while (l < r) {
if (nums[l] === val) {
nums[l] = nums[--r];
} else {
l++;
}
}
return l;
}