力扣练习-移除元素

我爱海鲸 2025-04-12 23:40:52 暂无标签

简介力扣

https://leetcode.cn/problems/remove-element/description/

解法一(java)

class Solution {
    public int removeElement(int[] nums, int val) {
        int len = nums.length;
        int x = 0;
        for (int i = 0; i < len; i++) {
            if (nums[i] == val) {
                nums[i] = 51;
                x++;
            }
        }
        Arrays.sort(nums);
        return len - x;
    }
}

思路:定义一个重复数组的个数,遍历数组如果当前元素等于需要移除的元素,就把它设置为51(输入的数组最大为50),然后重复数组的个数加一,遍历结束后将数组排序,返回原数组的长度减去重复数组的个数。

解法二(java)

class Solution {
    public int removeElement(int[] nums, int val) {
        int len = nums.length;
        int x = 0;
        for (int i = 0; i < len; i++) {
            if (nums[i] != val) {
                nums[x] = nums[i];
                x++;
            }
        }
        return x;
    }
}

思路:定义一个输出的数组长度,遍历数组如果当前元素不等于需要移除的元素,就将当前元素的赋值给以输出数组长度为索引的原数组,输出数组的长度加一,最后返回输出数组的长度。

 

你好:我的2025