这道题目用正常的遍历思维也可以很快的知道怎么解,我们用一个值记录不等于val的元素下标,只要相等就一直往后遍历,不相等则进行一次赋值
public class removeElement{
public static void main(String[] args) {
int[] arr = {0,1,2,2,3,0,4,2};
int k = remove(arr,2);
for(int i = 0;i<k;i++) {
System.out.println(arr[i]);
}
}
public static int remove(int[] arr,int val) {
int res = 0;
for(int i = 0;i<arr.length;i++) {
if(arr[i] != val) {
arr[res++] = arr[i];
}
}
return res;
}
}