删除有序数组中的重复项

python 版本:遍历列表原地删除

class Solution:
    def removeDuplicates(self, nums: List[int]) -> int:
        pre = None;
        i = 0;
        while i<len(nums):
            if pre == nums[i]:
                del(nums[i])
            else:
                pre = nums[i]
                i = i+1
        return i;

java 版本:设置两个快慢指针,i指针指向不重复的,j指针向后移动

class Solution {
    public int removeDuplicates(int[] nums) {
       
        if(nums.length == 0) return 0;
           
        int i = 0;
       
        for(int j :nums){
           
           if(nums[i] == j) continue;  
            i++;
            nums[i] = j;
        }
        return i+1;
    }
}

猜你喜欢

转载自www.cnblogs.com/CoderRdf/p/12446917.html