移除数组中等于某个值的元素
class Solution { public int removeElement(int[] nums, int val) { int len = nums.length; if(len==0){ return 0; } int j=0; for(int i=0;i<len;++i){ if(nums[i]!=val){ nums[j++]=nums[i]; } } return j; } }
第二种方法:(如果相等的话,把重复的元素的位置赋值为最后一个元素的值,然后总数组的长度减一)
class Solution { public int removeElement(int[] nums, int val) { int len = nums.length; if(len==0){ return 0; } int i = 0; while(i<len){ if(nums[i]==val){ --len; if(i!=len){ nums[i] = nums[len]; } }else{ ++i; } } return len; } }