LeetCode 移除元素

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

我的解决方案:

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

提交记录中耗时最短的代码:

public class Solution {
    public static int removeElement(int[] nums, int val) {
        if(nums==null || nums.length==0)
            return 0;
        int len = 0, i=0,j=nums.length-1;
        while(i<=j){
            if(nums[i] != val){
                i++;
                len++;
            }else{
                nums[i] = nums[j];
                j--;
            }
        }
        return len;
    }
    public static void main(String[] args) {
        int[] nums ={3,2,2,3};
        removeElement(nums, 3);
        for (int i : nums) {
            System.out.println(i);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/include_heqile/article/details/81738534