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