代码:
public class Solution {
public int RemoveDuplicates(int[] nums) {
int j = 0;
for(int i=0;i<nums.Length;i++)
{
if (i == Array.IndexOf(nums, nums[i]))
{
nums[j] = nums[i];
j++;
}
}
return j;
}
}
大致思路:
需要用到两个数i,j作为指针
for中利用i依次判断该数是否是第一次出现在数组中
若是,则将该数放到数组中的第j位 并将j+1
最后返回的j即为数组中不重复的数的个数
//数组的第一项额外地与它自身多比较了一次 但是可以规避空数组的情况 不用额外写if判断