Remove Duplicates from Sorted Array

Remove Duplicates from Sorted Array

问题:

Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length.

Do not allocate extra space for another array, you must do this in place with constant memory.

For example,
Given input array A = [1,1,2],

Your function should return length = 2, and A is now [1,2].

思路:

  双指针,一个cur,一个len

我的代码:

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

学习之处:

  目前所知道的双指针的形式,有两种:1、前后双指针 2、双前指针,一块一慢(cur,len)

posted on 2015-03-08 09:53  zhouzhou0615  阅读(110)  评论(0编辑  收藏  举报

导航