LintCode - 删除排序数组中的重复数字(普通)

版权声明:本文为博主原创文章,未经博主允许不得转载。

难度:容易
要求:

给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。
不要使用额外的数组空间,必须在原地没有额外空间的条件下完成。

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

思路

    /**
     * @param A: a array of integers
     * @return : return an integer
     */
    public int removeDuplicates(int[] A) {
        if (A == null || A.length == 0) {
            return 0;
        }
        
        int tmp = 0;
        for(int i = 0; i < A.length; i++){
            if(A[i] != A[tmp]){
                tmp++;
                A[tmp] = A[i];
            }
        }
        return tmp + 1;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容