int removeElement(int* nums, int numsSize, int val) {
int slow = 0, fast = 0; //一对夫妇,原本都是零起点
while (fast < numsSize) { //但是有一个跑得快,一个跑得慢
if (nums[fast] != val) { //于是跑得快的那个先去寻找共同目标
nums[slow] = nums[fast]; //如果找到了,就送给跑得慢的那个
slow++; //然后跑得慢的那个也就离目标近一点
}
fast++; //但是不管是否找得到,跑得快的那方都一直奔跑到生命的尽头
}
return slow; //最终留下跑得慢的一方
}
版权归属:
秋之牧云
许可协议:
转载请注明出处
评论区