找到第一个只出现一次字符

找到字符串中只出现一次的字符

方法:用表格记录字符串中每个字符出现的次数,遍历表格,找到计数为1的字符

#include <iostream>
using namespace std;

//找出第一个只出现一次的字符
char first_appear_char(char*p_str)
{
    if (p_str == NULL)
        return 0;
    int count[256] = { 0 };
    int len = strlen(p_str);

    char*p_temp = p_str;

    //用hash表为每个字符出现情况计数
    while (*p_temp != '\0')
    {
        count[*p_temp]++;
        p_temp++;

    }
    //找到只出现一次的字符
    while (*p_str != '\0')
    {
        if (count[*p_str] == 1)
            break;
        p_str++;
    }
    return *p_str;

}
int main()
{
    char src[50];
    cout << "输入字符串";
    cin >> src;
    char result=first_appear_char(src);
    cout << result;
    system("pause");
}

 

posted @ 2018-04-14 10:13  新新苦苦的学习  阅读(136)  评论(0编辑  收藏  举报