您的位置:首页 > 其它

leet code 第25-26题Remove Duplicates from Sorted Array & Remove Element

2014-05-04 08:55 411 查看
这两题都是关于数组操作,对于已经排序,需要边记录重复的个数,边向前移动,而没有排序的,这每次遇到目标元素,就和后面不一样的元素进行交换

class Solution {

public:

    int removeDuplicates(int A[], int n) {

        int cont=0;

        for(int i=1;i<n;i++){

            if(A[i]==A[i-1])cont++;

            else A[i-cont]=A[i];

        }

        return n-cont;

    }

};

class Solution {

public:

    int removeElement(int A[], int n, int elem) {

        if(n==0)return 0;

        int len=n;

        for(int i=0;i<n;i++){

            if(A[i]==elem){

                if(A[n-1]!=elem){

                    A[i]=A[n-1];

                }else i--;

                n--;

            }

        }

        return n;

    }

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  leetcode 算法