LeetCode 27 : Remove Element
URL : https://leetcode.com/problems/remove-element/
方法很简单,使用两个游标 i 和 j ,遍历数组 A 即可。
举个简单的例子,譬如 A 为 {1,2,2,3,2,4},我们需要删除 2。
i = 0, j = 0, A={1,2,2,3,2,4} -->
i = 1, j = 1, A={1,2,2,3,2,4}
i = 1, j = 1, A={1,2,2,3,2,4} -->
i = 2, j = 1, A={1,2,2,3,2,4}
i = 2, j = 1, A={1,2,2,3,2,4} -->
i = 3, j = 1, A={1,2,2,3,2,4}
i = 3, j = 1, A={1,2,2,3,2,4} -->
i = 4, j = 2, A={1,3,2,3,2,4}
i = 4, j = 2, A={1,3,2,3,2,4} -->
i = 5, j = 2, A={1,3,2,3,2,4}
i = 5, j = 2, A={1,3,2,3,2,4} -->
i = 6, j = 3, A={1,3,4,3,2,4}
return 3
代码如下:
/*
Author:Jianrong Tao
Coding for the future
@leetcode
*/
#include <iostream>
using namespace std;
class Solution{
public:
int removeElement(int A[], int n, int elem){
int i = 0;
int j = 0;
for(i=0; i<n; i++){
if(A[i] == elem){
continue;
}
A[j] = A[i];
j++;
}
return j;
}
};
int main()
{
int A[6] = {1,2,2,3,2,4};
int n = 6;
int elem = 2;
int result = 0;
Solution s;
result = s.removeElement(A,n,elem);
cout << result << endl;
return 0;
}