相关标签
一、题目要求
二、题解和代码实现
1.题解
2.代码实现
代码如下(示例):
class Solution {
public int removeElement(int[] nums, int val) {
int count =0;
int left =0;
int right = nums.length-1;
while (left <= right){
while (right>=0 && nums[right]==val){
//判断右指针是否是要删除的值,如果是,移动指针,要删除的个数+1
right--;
count++;
}
if (left < right && nums[left] ==val ){
//当到这里 判断 左右指针没超出范围并且 左指针的值是要删除的目标值
count++;
nums[left++] = nums[right--];//就把右指针的值赋值到左指针,然后左右指针移动
}else {
left++;
}
}
return nums.length-count;//最后返回数组长度-删除的个数,就是删除后的元素数组
}
}