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

 1 //双指针算法,也就是实现STL中的unique函数
 2 class Solution 
 3 {
 4 public:
 5     int removeDuplicates(vector<int>& nums) 
 6     {
 7         int n = nums.size();
 8         int j = 0;
 9         for(int i = 0;i < n;i ++)
10         {
11             if(!i || nums[i] != nums[i - 1])
12             {
13                 nums[j ++] = nums[i];
14             }
15         }
16         return j;
17     }
18 };

 

 1 //删除重复数模板
 2 class Solution 
 3 {
 4 public:
 5     int removeDuplicates(vector<int>& nums) 
 6     {
 7         int j = 0;
 8         for(int i = 0;i < nums.size();i ++)
 9             if(j < 1 || nums[i] > nums[j-1])
10                 nums[j ++] = nums[i];
11         return j;
12     }
13 };

 

posted @ 2020-03-15 18:40  Jinxiaobo0509  阅读(131)  评论(0)    收藏  举报