public class removeElement {
public static void main(String[] args) {
removeElement removeElement = new removeElement();
int[] nums = new int[]{3,1,1,1,2,0,0};
int val = 2;
int len = removeElement.removeEle(nums, val);
for (int i = 0; i < len; i++) {
System.out.print(nums[i]);
}
System.out.println();
System.out.println(len);
}
public int removeEle(int[] nums,int val){
int len=0;
for (int i = 0; i < nums.length; i++) {
if(nums[i] != val){
nums[len] = nums[i];
len++;
}
}
return len;
}
}
解题思路:
在本题中,关键点就是将与给定数字不同的元素前移,并且记录不同元素的个数,这时就需要一个int变量len=0在对nums数组进行遍历的时候,记录不同元素个数,将不同的元素前移即nums[len]=nums[i],并且随着不同元素的个数的增加每次++1,最后返回len。