27移除元素
解题思路
与昨天的每日一题是类似题,详见 Leetcode–26删除有序数组中的重复项+80删除有序数组中的重复项||
使用双指针进行解题,其中pos指向当前可以被替换的元素,i指向当前被遍历的元素,如果当前指向的元素nums[i]与val相等,则i++,长度减一;如果不相等,则交换pos和i指向的元素;最后返回新的长度。
代码
class Solution {
public int removeElement(int[] nums, int val) {
int len = nums.length;
int pos=0;
for(int i=0;i<nums.length;i++)
{
if(nums[i]==val)
{
len--;
}
else{
nums[pos]=nums[i];
pos++;
}
}
return len;
}
}