原地移除数组中所有的元素val 含源码
.要求时间复杂度为O(N),空间复杂度为O(1)
在原数组改变,不创建新数组
int removeElement(int* nums, int numsSize, int val) {int src=0,dst=0;while(src<numsSize){if(nums[src]==val){src++;}else{nums[dst++]=nums[src++];}}return dst;
}
.要求时间复杂度为O(N),空间复杂度为O(1)
在原数组改变,不创建新数组
int removeElement(int* nums, int numsSize, int val) {int src=0,dst=0;while(src<numsSize){if(nums[src]==val){src++;}else{nums[dst++]=nums[src++];}}return dst;
}