3.1leetcode 移除元素

my

class Solution {
    public int removeElement(int[] nums, int val) {
        int len = nums.length;
        int p = 0;
        int q = len-1;
        while(p <= q)
        {
            if(nums[p] == val && nums[q] == val)
            {
                q--;
            }
            else if(nums[p] == val && nums[q] != val)
            {
                int temp = nums[p];
                nums[p] = nums[q];
                nums[q] = temp;
                q--;
                p++;
            }
            else
                p++;
            System.out.println(p);
        }
        return p;
    }
}

参考

class Solution {
    public int removeElement(int[] nums, int val) {
        int ans = nums.length;
        for (int i = 0; i < ans;) {
            if (nums[i] == val) {
                nums[i] = nums[ans - 1];
                ans--;
            } else {
                i++;
            }
        }
        return ans;
    }
}


猜你喜欢

转载自blog.csdn.net/qq_37602161/article/details/114274565