@@ -29,13 +29,13 @@ \subsubsection{代码1}
29
29
// 时间复杂度O(n),空间复杂度O(1)
30
30
class Solution {
31
31
public:
32
- int removeDuplicates(int A[], int n ) {
33
- if (n == 0 ) return 0;
32
+ int removeDuplicates(vector< int>& nums ) {
33
+ if (nums.empty() ) return 0;
34
34
35
35
int index = 0;
36
- for (int i = 1; i < n ; i++) {
37
- if (A [index] != A [i])
38
- A [++index] = A [i];
36
+ for (int i = 1; i < nums.size() ; i++) {
37
+ if (nums [index] != nums [i])
38
+ nums [++index] = nums [i];
39
39
}
40
40
return index + 1;
41
41
}
@@ -49,8 +49,8 @@ \subsubsection{代码2}
49
49
// 使用STL,时间复杂度O(n),空间复杂度O(1)
50
50
class Solution {
51
51
public:
52
- int removeDuplicates(int A[], int n ) {
53
- return distance(A , unique(A, A + n ));
52
+ int removeDuplicates(vector< int>& nums ) {
53
+ return distance(nums.begin() , unique(nums.begin(), nums.end() ));
54
54
}
55
55
};
56
56
\end {Code }
@@ -62,8 +62,8 @@ \subsubsection{代码3}
62
62
// 使用STL,时间复杂度O(n),空间复杂度O(1)
63
63
class Solution {
64
64
public:
65
- int removeDuplicates(int A[], int n ) {
66
- return removeDuplicates(A, A + n, A) - A ;
65
+ int removeDuplicates(vector< int>& nums ) {
66
+ return distance(nums.begin(), removeDuplicates(nums.begin(), nums.end(), nums.begin())) ;
67
67
}
68
68
69
69
template<typename InIt, typename OutIt>
0 commit comments