Leetcode: Remove Duplicates from Sorted Array

设置一个游标, 记录最后一个不重复的元素

代码:

#include <iostream>
using namespace std;

class Solution {
public:
    int removeDuplicates(int A[], int n) {
        if(n==0)
            return 0;
            
        int cursor = 0;
		for(int i = 1; i < n; i ++) {
			if(A[i] == A[cursor]) {
				continue;
			}else{
				if(i == cursor+1)
					cursor++;
				else
					A[++cursor] = A[i]; 
			}
		}
		return cursor+1;
    }
};

  

与上题略有不同

#include <iostream>
using namespace std;

class Solution {
public:
    int removeElement(int A[], int n, int elem) {
        
		int cursor = 0;
		for(int i = 0; i < n; i ++) {
			if(A[i] != elem) {
				A[cursor++] = A[i];
			}
		}
		return cursor;
    }
};

  

posted @ 2013-12-05 16:08  SangS  阅读(206)  评论(0编辑  收藏  举报