删除数组重复元素
删除元素
http://www.nowcoder.com/questionTerminal/1e1b7d86039e4427b4b6f7cbb856c301
public class Solution {
public int removeElement(int[] A, int elem) {
int j=0;
for(int i=0;i<A.length;i++){
if(A[i]!=elem){
A[j]=A[i];
j++;
}
}
return j;
}
}这是借鉴的答案
public class Solution {
public int removeElement(int[] A, int elem) {
String s = null;
StringBuffer str = new StringBuffer();
for (int i = 0; i < A.length; i++) {
if (elem == A[i]) {
continue;
} else {
str.append(A[i] + " ");
}
}
s = str.toString();
String[] s1 = s.split(" ");
return s1.length;
}
}以上是自己的答案,不知道是为什么,因为输出的答案是一样的,只是比较繁琐。
借鉴的答案是利用j计数器,如果元素不等于想要删除的数,那么j也一起跟着i向后加,当元素等于elem时,那么j不会加,而i是会继续自加的,这样就很好的跳过了想要删除的元素,把后面不需要删除的元素赋值到这个位置,返回j,也就是数组长度,我不知道为什么别人的答案可以,我的不可以,不过也学到了更简便的方法
腾讯成长空间 5958人发布