给定数组nums和值val,在适当位置删除该值的所有实例并返回新长度。
不要为另一个数组分配额外的空间,你必须这样做修改输入数组就地用O(1)额外的内存。
元素的顺序可以改变。你留下的新长度并不重要。
例1:
给定nums = [3,2,2,3],val = 3,
你的函数应该返回长度= 2,与前两个元素NUMS是2。
你返回的长度超出了什么并不重要。
例2:
给定nums = [0,1,2,2,3,0,4,2],val = 2,
您的函数应返回长度= 5,随着第一五行nums含有 0,1,3,0,和 4。
注意,这五个元素的顺序可以是任意的。
设置超出返回长度的值无关紧要。
解法: public int removeElement(int[] nums, int val) { int m=0; for (int i=0;i<nums.length;i++) { if (nums[i]!=val) { nums[m]=nums[i]; m++; } } return m; }