华为机试-找出字符串中第一个只出现一次的字符(HJ59)-纯C

找出字符串中第一个只出现一次的字符(题面已经更新)

http://www.nowcoder.com/questionTerminal/e896d0f82f1246a3aa7b232ce38029d4

纯C

哈希表

#include <stdlib.h>
#include <stdio.h>

int main()
{
    char str[500];
    while(scanf("%s", str) != EOF)
    {
        int len=strlen(str);
        int hash_table[128] = {0};
        for(int i=0; i<len; i++)
        {
            hash_table[str[i]]++;
        }
        int flag=0;
        for(int i=0; i<len; i++)
        {
            if(hash_table[str[i]] == 1)
            {
                printf("%c\n", str[i]);
                flag = 1;
                break;
            }
        }
        if(!flag) printf("-1\n");
    }
    return 0;
}
全部评论
厉害了老哥
点赞 回复 分享
发布于 2022-07-19 15:59
思路惊人的一致,点赞!
点赞 回复 分享
发布于 08-13 17:16 浙江

相关推荐

11-08 16:53
门头沟学院 C++
投票
滑模小马达:第三个如果是qfqc感觉还行,我签的qfkj搞电机的,违约金也很高,但公司感觉还可以,听说之前开过一个试用转正的应届生,仅供参考。
点赞 评论 收藏
分享
ArisRobert:统一解释一下,第4点的意思是,公司按需通知员工,没被通知到的员工是没法去上班的,所以只要没被通知到,就自动离职。就是一种比较抽象的裁员。
点赞 评论 收藏
分享
12 3 评论
分享
牛客网
牛客企业服务