网址 Java 我的解题 class Solution { public int removeElement(int[] nums, int val) { int j = 0; //j is the index for(int i = 0; i < nums.length; i++){ if(nums[i] == val){ j++; }else{ nums[i-j] = nums[i]; } } return nums.length - j; } } 标答1 和我的做法思路一样的 public int removeElement(int[] nums, int val) { int i = 0; for (int j = 0; j < nums.length; j++) { if (nums[j] != val) { nums[i] = nums[j]; i++; } } return i; } 标答2 当需要被移除的数量比较小时能够减小复杂度 public int removeElement(int[] nums, int val) { int i = 0; int n = nums.length; while (i < n) { if (nums[i] == val) { nums[i] = nums[n - 1]; // reduce array size by one n--; } else { i++; } } return n; }