版权声明:本文为博主原创文章,未经博主允许不得转载。
难度:容易
要求:
给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度。
元素的顺序可以改变,并且对新的数组不会有影响。
样例
给出一个数组** [0,4,4,0,0,2,4,4],和值 4返回 4 并且4个元素的新数组为[0,0,0,2]**
思路:
/**
*@param A: A list of integers
*@param elem: An integer
*@return: The new length after remove
*/
public int removeElement(int[] A, int elem) {
int left = 0;
int right = A.length - 1;
while(left <= right){
if(elem == A[left]){
A[left] = A[right];
right--;
}else{
left++;
}
}
return ++right;
}