Remove Duplicates from Sorted Array
Given a sorted array, remove the duplicates in place such that each element appear onlyonce 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,另个则称之为结果保存指针index。核心内容:当两个指针指向的内容相等时,只移动i指针,不相等时同时移动i和index指针。
Code:
Int removeDuplicates(int A[],int n){
If(n==0) return 0;
Int index=0;
For(int i=1;i<n;i++){
If(A[index]!=A[i])
A[++index]=A[i];
}
Return index+1;
}