美文网首页
在一个字符串中找到第一个只出现一次的字符(C)

在一个字符串中找到第一个只出现一次的字符(C)

作者: 陈_振 | 来源:发表于2018-09-13 01:04 被阅读0次

    Hash算法的思想:

    样例:
    输入“abaccdeff”, 输出b

    算法思路:字符(char)是一个长度为8的数据类型,因此总共有256种可能。
    每个字母根据ASCII码值作为数组的下标。数组中存储的是每个字符出现的次数。

    char findOnceChar(char *str) {
        char result = '\0';
        
        int array[256];
        
        for (int i = 0; i < 256; i++) {
            array[i] = 0;
        }
        
        char *current = str;
        while (*current != '\0') {
            array[*current]++;
            current++;
        }
        
        // 重新指向字符串头部
        current = str;
        
        // 遍历字母出现的次数
        while (*current != '\0') {
            if (array[*current] == 1) {
                result = *current;
                break;
            }
            current++;
        }
        
        return result;
    }
    

    相关文章

      网友评论

          本文标题:在一个字符串中找到第一个只出现一次的字符(C)

          本文链接:https://www.haomeiwen.com/subject/qmeigftx.html