这个题就是个坑!英文一定要学好!题意一定要理解对。
我一开始以为自己求删除之后的长度就可以了!其实不止如此!你还要让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; } };
我是一个土人,更好的代码是:用双指针,和后面的数交换位置。