题目:从排序数组中删除重复项
C语言解题
int removeDuplicates(int* nums, int numsSize) {
if (numsSize == 0) {
return 0;
}
int length = 1;
for (int i = 0; i < numsSize; i++) {
if (nums[i] != nums[length - 1]) {
nums[length++] = nums[i];
}
}
return length;
}
使用length变量,既代表新数组长度,也指向当前处理到的保留的数组位置。新数组长度至少为1。
用i遍历数组,如果i指向的数字与length指向的数字不同,则将i指向的数字扩充到新数组中。