
Remove Element
Given an array and a value, remove all instances of that value in place and return the new length.
The order of elements can be changed. It doesn‘t matter what you leave beyond the new length.
//vs2012测试
#include<iostream>
#include<algorithm>
using namespace std;
#define n 2
int main()
{
int A[n];
int elem;
for(int i=0; i<n; i++)
{
cin>>A[i];
}
cin>>elem;
int start = 0;
for(int i=0; i<n; i++)
{
if(A[i] != elem)
{
A[start] = A[i];
start++;
}
}
//for(int j=start; j<n; j++)
// A[j]=0;
for(int i=0; i<start; i++)
cout<<A[i];
cout<<endl;
cout<<start<<endl;
return start;
}//方法一:自测Accepted
class Solution {
public:
int removeElement(int A[], int n, int elem) {
int length = 0;
for(int i=0; i<n; i++)
{
if(A[i] != elem)
{
A[length] = A[i];
length++;
}
}
for(int j=length; j<n; j++)
A[j]=0;
//for(int i=0; i<n; i++)
// cout<<A[i];
//cout<<endl;
//cout<<length<<endl;
return length;
}
};
原文地址:http://blog.csdn.net/keyyuanxin/article/details/43764445