Do not allocate extra space for another array, you must do this in place with constant memory.
For example,
Given input array A =
[1,1,2]
,
Your function should return length =
2
, and A is now [1,2]
.public class Solution {
public int removeDuplicates(int[] A) {
if(A.length==0) {
return 0;
}
int p2 = 1;
for(int p1=1;p1<A.length;p1++) {
if(A[p1]!=A[p1-1]) {
A[p2++] = A[p1];
}
}
return p2;
}
}
没有评论:
发表评论