题目链接
暴力:(没有改变元素相对位置)
class Solution {public int removeElement(int[] nums, int val) {int len = nums.length;for(int i = 0; i < len; i++){if(nums[i] == val){for(int j = i + 1; j < len; j++){nums[j-1] = nums[j];}i--;len--;} }return len;}
}
学习思想:双指针(没有改变元素相对位置),快慢指针重点要想好快慢指针分别代表什么
class Solution {public int removeElement(int[] nums, int val) {// 慢指针更新数组下标int slow = 0;// 快指针寻找新数组for(int fast = 0; fast < nums.length; fast++){if(val != nums[fast]){nums[slow++] = nums[fast];}}// 返回数组长度 = 下标 + 1,++过了return slow;}
}