双指针解题,一个指向数组首位,其含义是已处理的最后一个不含val的元素;一个指向数组末位,其含义为全含val的数组的首位。
3.解题class Solution {
public int removeElement(int[] nums, int val) {
//特殊情况优化处理
if(nums.length==0) return 0;
if(nums.length==1) return nums[0]==val?0:1;
int m=0;
for(int i=0;i
4.题解
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;
}
}



