給你一個陣列 nums
和一個值 val
,你需要 原地 移除所有數值等於 val
的元素。元素的順序可能發生改變。然後返回 nums
中與 val
不同的元素的數量。
陣列的元素在記憶體地址中是連續的,所以不能單獨刪除陣列中的某個元素,只能覆蓋。
用JavaScript實現
/** * @param {number[]} nums * @param {number} val * @return {number} */ var removeElement = function(nums, val) { let k=0; for(i=0;i<nums.length;i++){ if(nums[i]!=val){ nums[k++]=nums[i] } } return k };
把不等於val的值賦值到新陣列,別忘記K++