第二十七题 :移除元素
解题思路: 这题目与26题差不多的,都可以采用双指针方式,只是处理方式有点区别,时间复杂度0(n)
这次我先上代码吧:
int removeElement(vector<int>& nums, int val) {
if (nums.size() == 0)
{
return 0;
}
int i = 0;
for (int j = 0; j<nums.size(); j++)
{
if (nums[j] != val)
{
nums[i] = nums[j];
i++;
}
}
return i;
}
就是利用i 作为改变的值,不等就改变,然后++, j就是滑动下标,与val专门比较。相同移动,不同开始变换,这样就把val对应的值给去掉了。返回的值是对应的长度。