其他分享
首页 > 其他分享> > LeetCode 删除排序数组中的重复项

LeetCode 删除排序数组中的重复项

作者:互联网

https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array/description/

我的解决方案:

class Solution {
    public int removeDuplicates(int[] nums) {
        int cnt=0;
        for(int i=0;i<nums.length;i++) {
            while(i+1<nums.length && nums[i]==nums[i+1]) {
                i++;
            }
            nums[cnt++]=nums[i];
        }   
        return cnt;
    }
}

耗时最短的代码:

class Solution {
    public int removeDuplicates(int[] nums) {
        if(nums == null || nums.length == 0) return 0;
        int count = 1;
        for(int i=1;i<nums.length;i++){
            if(nums[i-1] != nums[i]){
                nums[count++] = nums[i];
            }
        }
        return count;
    }
}

因为数组中的第一项一定会被保留,所以不对第一项做任何处理

标签:nums,int,class,Solution,public,数组,removeDuplicates,排序,LeetCode
来源: https://blog.51cto.com/u_12534050/2953538