题目如下:
给出的示例显示如下:
在这道题中可以引入c语言中的双指针概念left和right,这边给出两种代码示例如下:
代码一:
class Solution {
public int removeElement(int[] nums, int val) {
int n=nums.length,right=0,left=0;
for(right=0;right<n;right++){
if(nums[right]!=val){
nums[left]=nums[right];
left++;
}
}
return left;
}
}
代码二:
class Solution {
public int removeElement(int[] nums, int val) {
int left=0;
int right=nums.length;
while(left<right){
if(nums[left]==val){
nums[left]=nums[right-1];
right--;
}else{
left++;
}
}
return left;
}
}