找出字符串中第1個只出現1次的字符

C/C++面試題,使用256大小的表,掃描兩遍,第一遍統計每個字符的個數,第二遍找到第1個只出現一次的字符。

注意:

1.str爲NULL時,返回\0;

2.找不到第1個只出現1次的字符時,返回\0;

3.table不要忘記初始化爲全0。

char find_first_not_repeat_char(char *str)
{
    if (str == NULL)
        return '\0';

    int table[256] = {0};
    for(char *p = str; *p != '\0'; p++){
        table[*p]++;
    }

    for(char *p = str; *p != '\0'; p++){
        if (table[*p] == 1)
            return *p;
    }

    return '\0';
}


發佈了102 篇原創文章 · 獲贊 8 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章