我们有一个算法刷题群,每周群主会安排 4 道题,节假日没标题。想要一起刷题的小伙伴能够加我微信 zzh0838
标题描绘
一切解法均在无参考情况下手写,机打了一遍:
暴力法
int removeElement(vector<int> &nums, int val) {
int size = nums.size();
for (int i = 0; i < size; i) {
if (nums[i] == val) {
for (int j = i; j < size - 1; j) {
nums[j] = nums[j 1];
}
i--;
size--;
}
}
return size;
}
双指针法
int removeElement(vector<int>& nums, int val) {
int slow = 0;
int fast = 0;
int size = nums.size();
for(fast = 0; fast < size; fast ) {
if(nums[fast] != val) {
nums[slow] = nums[fast];
slow ;
}
}
return slow;
}
双指针优化
int removeElement(vector<int>& nums, int val) {
int left = 0, right = nums.size() - 1;
while(left < right) {
if(nums[left] == val) {
num[left] = nums[right];
right--;
} else {
left ;
}
}
return left;
}
参考资料
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

