classSolution{publicintremoveElement(int[] nums,int val){int ans =0;for(int i =0; i < nums.length; i++){if(nums[i]!= val)
nums[ans++]= nums[i];}return ans;}}
本地测试代码
package com.company;publicclassSolution_27{publicstaticintremoveElement(int[] nums,int val){int ans =0;for(int i =0; i < nums.length; i++){if(nums[i]!= val)
nums[ans++]= nums[i];}return ans;}publicstaticvoidmain(String[] args){
System.out.println(removeElement(newint[]{3,2,2,3},3));
System.out.println(removeElement(newint[]{0,1,2,2,3,0,4,2},2));}}
题目链接https://leetcode-cn.com/problems/remove-element/解题思路双指针法创建指针ans,遍历的时候指针ans用来记录当前的非val元素。即遍历的时候每遇到一个非val元素就将其往数组左边挪动。AC代码class Solution { public int removeElement(int[] nums, int val) { int ans = 0; for (int i = 0; i < n