LeetCode26-简单-删除有序数组中的重复项

Posted 再吃一个橘子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode26-简单-删除有序数组中的重复项相关的知识,希望对你有一定的参考价值。

重要思想:

 画图!!     自己体会        ——————

情况1:

情况2:

AC代码:

​
int removeDuplicates(int* nums, int numsSize)
//三指针
    if(numsSize == 0)
        return 0;
    int i = 0,j = 1;
    int dst = 0;
    while(j < numsSize)
    
        if(nums[i] == nums[j])
        
            ++j;
        
        else if(nums[i] != nums[j])
        
            nums[dst] = nums[i];
            ++dst;
            i = j;
            ++j;
        
    
    nums[dst] = nums[i];
    ++dst;

    return dst;

思路2:双指针

int removeDuplicates(int* nums, int numsSize)
    int dst=0,src=1;
    int j=0;
    while(src < numsSize)
    
        if(nums[src] == nums[dst])
        
            j = src;
            while(j < numsSize)
            
                nums[j - 1] = nums[j];
                j++;
            
            numsSize--;
        
        else
        
            dst++;
            src++;
        
    
    return numsSize;

以上是关于LeetCode26-简单-删除有序数组中的重复项的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode26-简单-删除有序数组中的重复项

LeetCode刷题26-简单-删除有序数组中的重复项

Leetcode刷题100天—26. 删除有序数组中的重复项(数组)—day76

Leetcode刷题100天—26. 删除有序数组中的重复项(数组)—day76

⭐算法入门⭐《线性枚举》简单03 —— LeetCode 26. 删除有序数组中的重复项

#yyds干货盘点#Leetcode 26. 删除有序数组中的重复项