版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Somnus_k/article/details/82627709
思路:遍历数组,设定两个指针,当快指针指向的元素不为目标值时,将快指针指向元素赋值给慢指针指向元素,同时慢指针前进一步。
代码:
public class RemoveElement27 {
public static void main(String[] args) {
int[] arr ={0,1,2,2,3,0,4,2};
System.out.println(new RemoveElement27().removeElement(arr, 2));
System.out.println(Arrays.toString(arr));
}
public int removeElement(int[] nums, int val) {
int idx = 0;
for (int i = 0; i < nums.length; i++) {
if(nums[i]!=val)
nums[idx++]=nums[i];
}
return idx;
}
}
输出: