http://oj.leetcode.com/problems/remove-element/
class Solution {
public:
int removeElement(int A[], int n, int elem) {
if(n==0) return 0;
int start=0, end=n-1;
while(start<end){
while(start<end&&A[start]!=elem) start++;
while(start<end&&A[end]==elem) end--;
swap(A[start],A[end]);
}
if(A[start]==elem) return start;
else return start+1;
}
};