lintcode-删除元素-172

给定一个数组和一个值,在原地删除与值相同的数字,返回新数组的长度。

元素的顺序可以改变,并且对新的数组不会有影响。


样例

给出一个数组 [0,4,4,0,0,2,4,4],和值 4

返回 4 并且4个元素的新数组为[0,0,0,2]

class Solution {
public:
      
    int removeElement(vector<int> &A, int elem) {
        int fast=0,slow=0;
        int n=A.size();
        int ret=0;
        
        while(fast<n){
            if(A[fast]!=elem){
                ++ret;
                A[slow]=A[fast];
                ++slow;
            }
            ++fast;
        }
        return ret;
    }
};


你可能感兴趣的:(lintcode-删除元素-172)