1. 程式人生 > >leetcode:刪除排序陣列中的重複項 C語言

leetcode:刪除排序陣列中的重複項 C語言

運用C語言,首先把第一個元素和後面的元素做比較,檢測到第一次不同時就將該元素複製到陣列中,並將該元素做為下一次進行比較的元素。實現程式碼如下:

int removeDuplicates(int* nums, int numSize)

{
int i = 0, k = 1;
if(numSize == 0)   //假如陣列沒有初始化
{
return k = 0;    //則輸出的陣列元素個數為0
}
int z = nums[0];       //用第一個元素作為比較的元素和陣列後面的元素做比較
for(i = 0;i < numSize;i++)     
{
if(z != nums[i])         //如果找到與比較元素不同的元素
{
nums[k++] = nums[i];       //則將該元素複製到陣列的一個元素中,並且陣列索引值k加1
z = nums[i];                       //將當前的陣列元素設為下一次比較的元素
}
}
return k;                                     //返回陣列中的元素個數
}