首页 > 代码库 > Leetcode--Remove Duplicates from Sorted Array

Leetcode--Remove Duplicates from Sorted Array

Problem Description:

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].

分析:从有序数组中删除重复的元素,题目比较简单,可以利用两个下标i,j,用i记录现在第一个不重复的元素,然后利用j找到和i不同的元素,依次插入即可。具体实现代码如下:

class Solution {
public:
    int removeDuplicates(int A[], int n) 
{
	if(n<=0)
		return 0;
	int i=0,j=1;
	while(j<n)
	{
		while(j<n&&A[j]==A[i])
			j++;
		if(j==n)
			break;
		else
		{
			A[++i]=A[j++];
		}
	}
	return i+1;
}
};