题解 | #第一个只出现一次的字符#

第一个只出现一次的字符

http://www.nowcoder.com/practice/1c82e8cf713b4bbeb2a5b31cf5b0417c

C语言求解第一个出现的字符

解题思路

对于字符串google,这种重复字符串一般借助hash表实现,先遍历统计所有字母的频率存储到hash表,第二遍遍历寻找频率为1的序号即可。

 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param str string字符串 
 * @return int整型
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
int FirstNotRepeatingChar(char* str ) {
//最大范围字母区间
    int maxrange='z'-'A';
    int *hash=(int *)malloc(sizeof(int)*maxrange);
    for(int i=0;i<strlen(str);i++){
        hash[str[i]-'A']++;
    }
    for(int i=0;i<strlen(str);i++)
        if(hash[str[i]-'A']==1)
            return i;
    return -1;
}
全部评论

相关推荐

09-29 16:59
已编辑
门头沟学院 Java
牛客96609213...:疯狂背刺,之前还明确设置截止日期,还有笔试,现在一帮人卡在复筛,他反而一边开启扩招,还给扩招的免笔试,真服了,你好歹先把复筛中的给处理了再说
投递大疆等公司10个岗位
点赞 评论 收藏
分享
🎓学历背景:双非土木硕👨‍💻意向职位:AI应用开发大佬们可以帮我看看简历吗,秋招至今0offer
秋招结束再玩瓦:今年科班都不好找哇……你可以试试交叉岗,比如制造业国企的一些开发算法,或者互联网的边缘岗,it技术支持,运维这些
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务