您的位置:首页 > 其它

【Leetcode】Remove Duplicates from Sorted Array II (Removing)

2014-10-26 04:47 267 查看
这道题也是让删除数组里的重复元素,和I不同在于它允许存在两个相同元素,所以这道题必须用一个count来记录,直到count>2了才不合法

public int removeDuplicates(int[] A) {
if (A == null || A.length == 0)
return 0;
int count = 1;
int index = 1;
for (int i = 1; i < A.length; i++) {
if (A[i] == A[i - 1]) {
count++;
if (count > 2)
continue;
} else
count = 1;
A[index++] = A[i];
}
return index;
}

目标同样是把A[index]=A[i]; 也就是说A[index]是合法位置,要把数组里的每个元素都放在里面。

如果不合法,continue,合法,放进去就可以了。不合法的条件是count必须大于2。
至于为什么index要从1开始,因为0这个位置永远都是合法的。

最后不要忘记了index++。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: