
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.Your function should return length = 2, and A is now [1,2].
//vs2012测试代码
#include<iostream>
using namespace std;
#define n 5
int main()
{
int A[n];
for(int i=0; i<n; i++)
cin>>A[i];
//要考虑空数组的情况
if(n==0)
return 0;
int start=0;
for(int i=0; i<n-1; i++)
{
if( A[i]!=A[i+1])
{
A[start] = A[i];
start++;
}
}
A[start] = A[n-1];
start++;
//for(int j=start; j<n; j++)
// A[j]=0;
cout<<start<<endl;
for(int j=0; j<start; j++)
cout<<A[j];
return start;
}//方法一:自测accepted
class Solution {
public:
int removeDuplicates(int A[], int n) {
//要考虑空数组的情况
if(n==0)
return 0;
int start=0;
for(int i=0; i<n-1; i++)
{
if( A[i]!=A[i+1])
{
A[start] = A[i];
start++;
}
}
A[start] = A[n-1];
start++;
//for(int j=start; j<n; j++)
// A[j]=0;
cout<<start<<endl;
for(int j=0; j<start; j++)
cout<<A[j];
return start;
}
};//方法二:参考其他
class Solution {
public:
int removeDuplicates(int A[], int n) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if(0 == n) return 0;
int len = 1;
for (int i = 1; i < n; ++i)
{
if(A[i] != A[len-1])
A[len++] = A[i];
}
return len;
}
};leetcode_26_Remove Duplicates from Sorted Array
原文地址:http://blog.csdn.net/keyyuanxin/article/details/43764421