移除元素
public int RemoveElement(int[] nums, int val)
{
// int j = 0;
// for (int i = 0; i < nums.Length; i++)
// {
// if (nums[i] != val)
// {
// nums[j++] = nums[i];
// }
// }
// return j;
int j=0;
for(int i=0;i<nums.Length;i++)
{
if(nums[i]!=val)
{
j++;
if(i!=j-1)
{
nums[j-1]=nums[i];
}
}
}
return j;
}
删除排序数组中的重复项
public int RemoveDuplicates(int[] nums)
{
int j = 1;
for (int i = 1; i < nums.Length; i++)
{
if (nums[i] != nums[i-1])
{
nums[j++] = nums[i];
}
}
return j;
}
删除排序数组中的重复项II
public int RemoveDuplicates(int[] nums)
{
int index = 0;
for (int i = 0; i < nums.Length; i++)
{
if (index < 2 || nums[i] != nums[index - 2])
{
nums[index++] = nums[i];
}
}
return index;
}