码迷,mamicode.com
首页 > 其他好文 > 详细

字符串去重

时间:2017-02-22 00:27:36      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:字符串去重

1、问题描述

  给出一串字符串,去掉重复的即可;

  例:str = "abacdefabcde";

  去重后:str = "abcdef";

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


2、代码实现

#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");

}


3、结果截图

技术分享


4、算法分析

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




本文出自 “wait0804” 博客,请务必保留此出处http://wait0804.blog.51cto.com/11586096/1900000

字符串去重

标签:字符串去重

原文地址:http://wait0804.blog.51cto.com/11586096/1900000

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!