字符串去重

一、问题描述算法

  给出一串字符串,去掉重复的便可;数组

  例:str = "abacdefabcde";ide

  去重后:str = "abcdef";spa

  算法思想:就是遍历一遍字符串,用一个alpha[]数组,将字符串的字符当作下标,出现一次后,将再也不知足条件,保证了去重;
blog


二、代码实现字符串

#include<stdio.h>

void main(void){
    char str[] = "abacdefabcde";
    char alpha[128] = {0};  //辅助空间,桶的思想
    char res[80] = {0};  //存放去重后的结果字符串
    int i;
    int t = 0;

    for(i = 0; str[i]; i++){
        if(alpha[str[i]] == 0){
            res[t++] = str[i];
            alpha[str[i]]++;
        }
    }

    for(i = 0; i < t; i++){
        printf("%c", res[i]);
    }
    printf("\n");

}


三、结果截图get

wKioL1isXrSSaHQMAAAX5TrjzPg121.png-wh_50


四、算法分析it

  时间复杂度为:O(n);io

相关文章
相关标签/搜索