【数据结构OJ题】删除有序数组中的重复项

简介: 力扣题目——删除有序数组中的重复项

1. 题目描述

image.png

2. 思路分析

双指针算法,定义两个变量src和dst,一开始让src和dst指向num[ ]数组的第一个元素,再使用if语句判断。

如果nums[src]==nums[dst],就让src指向下一位,即src++。如果nums[src]!=nums[dst]就让dst指向下一位,即dst++,再将src的值赋给nums[dst],赋完值后让src指向下一位,即src++。

最后dst+1就是数组中元素的个数。

流程演示:
image.png
image.png
image.png
image.png

3. 代码实现

int removeDuplicates(int* nums, int numsSize) {
   
    int n = numsSize;
    int src = 0, dst = 0;
    while (src < n)
    {
   
        if (nums[src] == nums[dst])
            src++;
        else
        {
   
            dst++;
            nums[dst] = nums[src];
            src++;
        }

    }
    return dst + 1;
}

相关文章
|
2月前
|
存储 Java
数据结构第三篇【链表的相关知识点一及在线OJ习题】
数据结构第三篇【链表的相关知识点一及在线OJ习题】
26 7
|
5月前
【数据结构OJ题】环形链表
力扣题目——环形链表
38 3
【数据结构OJ题】环形链表
|
5月前
|
存储 索引
【数据结构OJ题】设计循环队列
力扣题目——设计循环队列
38 1
【数据结构OJ题】设计循环队列
|
5月前
【数据结构OJ题】有效的括号
力扣题目——有效的括号
37 1
【数据结构OJ题】有效的括号
|
5月前
【数据结构OJ题】复制带随机指针的链表
力扣题目——复制带随机指针的链表
54 1
【数据结构OJ题】复制带随机指针的链表
|
5月前
【数据结构OJ题】环形链表II
力扣题目——环形链表II
32 1
【数据结构OJ题】环形链表II
|
5月前
【数据结构OJ题】相交链表
力扣题目——相交链表
37 1
【数据结构OJ题】相交链表
|
5月前
【数据结构OJ题】用栈实现队列
力扣题目——用栈实现队列
39 0
【数据结构OJ题】用栈实现队列
|
5月前
【数据结构OJ题】用队列实现栈
力扣题目——用队列实现栈
43 0
【数据结构OJ题】用队列实现栈
|
5月前
【数据结构OJ题】链表分割
牛客题目——链表分割
34 0
【数据结构OJ题】链表分割