给定一个数组和一个值,原地删除该值的所有实例并返回新的长度:
int removeElement(vector& nums, int val) {
int k = 0;
for (int i = 0; i < nums.size(); ++i) {
if (nums[i] != val) {
nums[k] = nums[i];
++k;
}
}
return k;
}
我们使用两个指针,一个快指针 i 和一个慢指针 k 。i 每次移动一步,而 k 只在添加新的被需要的值时才移动一步
双指针应用
最新推荐文章于 2024-07-05 08:45:00 发布