leetcode刷题笔记_数组_移除指定数组元素(java)

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。

你可能感兴趣的:(leetcode)