// 作 者 : 繁 华 倾 夏
#define _CRT_SECURE_NO_WARNINGS
#include// 力扣(LeetCode):27. 移除元素
// nums:数组 numsSize:数组大长度 val:要移除元素的值
int removeElement(int* nums, int numsSize, int val) {
int dst = 0, src = 0; // 定义两个数组下标
while (src< numsSize) { // 当src小于numsSize时,代表数组内还有元素存在
if (nums[src] != val) { // 当src所指向的数组元素不等于val时
nums[dst] = nums[src]; // 将元素覆盖到dst所指向的下标位置
src++; // 覆盖元素后,移动src和dst位置
dst++;
}
else { // 否则则证明src所指向的位置是要删除的元素
src++; // 无需进行覆盖,只移动src指向下一个下标位置进行比较
}
}
return dst; // 返回dst,代表被覆盖几次,即将等于val的值全部去除
}
// 测试用例
// 输入 [3, 2, 2, 3] 3
// 输出 [2,2]
int main() {
int nums[4] = { 3,2,2,3 };
int numsSize = sizeof(nums) / sizeof(nums[0]); // 统计数组长度
int dst = removeElement(nums, numsSize, 3);
int i = 0;
while (i
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧