首页 » 编程之美 » 正文

[leetcode_27]Remove Element

这个题就是个坑!英文一定要学好!题意一定要理解对。
我一开始以为自己求删除之后的长度就可以了!其实不止如此!你还要让A数组前length符合要求。
开始WA
后来一次AC
附上代码:

class Solution {
public:
    int removeElement(int A[], int n, int elem) {
        // Note: The Solution object is instantiated only once and is reused by each test case.
        int length = 0;
        int *B = new int[n];
        for(int i = 0;i < n;i++)
        {
            if(A[i] != elem)
            {
                B[length++] = A[i];
            }
        }
        for(int i = 0;i < length;i++)
        {
            A[i] = B[i];
        }
        return length;
    }
};

我是一个土人,更好的代码是:用双指针,和后面的数交换位置。

发表评论