//算法思想:
//遍历数组,当遇到下一个元素与当前遍历元素相等时
//进入删除移位函数MoveNums
void MoveNums(int *nums,int numsSize,int StartFlag)
{
for( int i = StartFlag; i < numsSize; i++ )
{
nums[i-1] = nums[i];
}
}
int removeDuplicates(int* nums, int numsSize) {
for( int i = 0; i < (numsSize - 1);)
{
if(nums[i] == nums[i+1])
{
//将i+1后面的数据向前移动一位
MoveNums(nums,numsSize,i+2);
numsSize--;
}
else
{
//当遇到有相同的情况i不增,继续与后面的比较
i++;
}
}
return numsSize;
}
LeeCode-Easy-删除有序数组中的重复项(C)
于 2023-11-29 15:25:25 首次发布