关于这个题,个人主要遇到的问题是,边界条件考虑太多了。加了很多的判断,判断指针为空啊,好多判断。弄巧成拙了。以后考虑边界条件的时候也是要认真思考一下,不可使一味的越多越好。
- 这个题,我是这样解答的
- 首先题目是要去不能用别的数组的。
- 因为是原地删除,这样的话,只需要判断这个值是不是你要删除的那个,是的话就把它覆盖掉就完事了。
- 见代码。
/**
* -*- coding: utf-8 -*-
* @Time : 2019/8/12 15:19
* @Author : 奥利波德
* @FileName: removeElement.c
* @Software: CLion
* @Blog :https://blog.csdn.net/qq_44265507
*/
int removeElement(int* nums, int numsSize, int val){
int len=0;
for (int j = 0; j < numsSize; ++j) {
if(nums[j]!=val){
nums[len++]=nums[j];
}
}
return len;
}