
笨方法
笨方法直接俩for
class Solution {public int removeElement(int[] nums, int val) {int size = nums.length;for (int i = 0; i < size; i++) {if (nums[i] == val) {for (int j = i + 1; j < size; j++) {nums[j - 1] = nums[j];}i--;size--;}}return size;}}
双指针
我的思路其实想到双指针了 但是因为固有思维加上心情不太好想先笨方法玩一下的…
类似反转那题
然后根据别人的博客我觉得叫快慢指针更好理解
class Solution {public int removeElement(int[] nums, int val) {int slowIndex = 0;for (int fastIndex = 0; fastIndex < nums.length; fastIndex++) {if (val != nums[fastIndex]) {nums[slowIndex++] = nums[fastIndex];}}return slowIndex;}}
