LintCode-删除排序数组中的重复数字

来源:互联网 发布:k3无法数据引出 编辑:程序博客网 时间:2024/06/04 19:00

给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。

不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。

样例

给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。

    public int removeDuplicates(int[] nums) {        // write your code here        if(nums.length == 0 || nums == null){            return 0;        }        int fast = 1, slow = 0;        int res = 0;        while(fast < nums.length){            if(nums[slow]!=nums[fast]){                nums[++slow] = nums[fast];//将slow指针的下一个赋为fast指针的值,巧妙的去除了重复的元素            }            fast ++ ;        }        return slow + 1 ;    }
0 0
原创粉丝点击