又到了禮拜一! 今天不知道要說甚麼,那就推薦今天我打鐵人賽所聽的BGM好了!
是The Kid LAROI – A COLD PLAY 這首蠻不錯的~
好回歸正傳,今天這題的題目大意是: 給你一個已排序與否都可以的陣列 nums 和一個值 val,就地刪除陣列中所有等於 val 的元素,回傳刪除後的新長度(不需保證刪後元素順序)
class Solution {
public int removeElement(int[] nums, int val) {
int k = 0; // 新陣列的長度(或下一個要放非 val 元素的索引)
for (int i = 0; i < nums.length; i++) {
//用 i 從 0 掃到陣列最後(逐一檢查每個元素 nums[i])
if (nums[i] != val) { //檢查目前的元素是否不是要刪除的值 val
nums[k] = nums[i]; //把這個「不等於 val」的元素放到陣列的索引 k 上
k++; //放完元素後,k 向右移一格(下一個非 val 元素下次放在 k 的位置)
}
}
return k;
}
}