LeetCode刷题:26.删除排序数组中的重复项+双指针

前言

  • 文章作为日记或心得,记录学习过程
  • 本文记录本题(源自LeetCode)遇到的所有问题、疑惑
  • 如对内容有任何建议或看法,欢迎评论区学习交流

正文

题目

太长了

解答

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

结果

在这里插入图片描述

学习新知识

按照答案上的双指针做的,的确一开始想不到这种方法
需要让思维顺从计算机的思维才能想到方案。
由于已经过排序,所以只要找到下一个不同的,依次放好就可以了

你可能感兴趣的:(刷题,leetcode,c++)