日野弥生:勉強しよう

LeetCode 26 - 删除排序数组中的重复项

发表于2025年01月08日

#数组 #双指针

快慢指针的起始位置是相邻位置,快指针比慢指针快一步开始进入循环。修改数组的条件,很自然地,那就是快慢指针互相所指的数字不相同。但是,要注意区分如果前后指针只是相邻元素的话,及时满足互指数字不同都不需要进行写入

class Solution {
public:
    int removeDuplicates(vector<int>& nums) {
        if(nums.size()==1)
            return 1;
        int slow=0,fast=1;
        for(;fast<nums.size();fast++)
        {
            if(nums[fast]!=nums[slow])
            {
                if(slow+1!=fast)
                {
                    nums[slow+1]=nums[fast];
                    slow++;
                }
                else
                {
                    slow++;
                }
            }
        }
        return slow+1;
    }
};

フラッシュタブ:LeetCode

题目链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-array/

上一篇

LeetCode 557 - 反转字符串中的单词 III

下一篇

LeetCode 283 - 移动零