我在Leetcode上做了一个问题。问题是给定一个数组和一个值,移除该值的所有实例并返回新的长度。 或者你可以读取它here:删除给定数组中的元素
int removeElement(int* nums, int numsSize, int val) {
int *nums_copy;
int count = 0;
int actual_count = 0;
while (actual_count < numsSize) {
if (nums[actual_count] != val) {
nums_copy[count] = nums[actual_count];
count++;
nums_copy = realloc(nums_copy, sizeof(int)* count);
}
actual_count++;
}
nums = nums_copy;
return actual_count;
}
当我试图用[1, 2, 2, 3], 2
进行测试,输出是[1, 2, 2, 3]
而预期输出为[1, 3]
。
你为什么不点击[讨论](https://leetcode.com/discuss/questions/oj/remove-element),看看其他人如何解决这个问题? –