C++删除排序数组中的重复项

 

 

 

 

 1 class Solution {
 2 public:
 3     int removeDuplicates(vector<int>& nums) {
 4         if (nums.empty()) {
 5             return 0;
 6         } 
 7         int j = 0;
 8         for (int i = 0; i < nums.size(); i++ ){
 9             if (nums[j]!=nums[i]){
10                 j++;
11                 nums[j] = nums[i];
12             }
13         }
14     return j+1;    
15     }
16 };

其中j用于指在最后一个不同元素的位置上,i用于向后寻找,找到第一个不相等的元素,存入j所指元素的后一位上,最终返回j+1即为所求数组的长度。(删除重复项→提取不重复项)。

posted @ 2019-11-04 21:01  Weisswire  阅读(1459)  评论(0编辑  收藏  举报