leetcode:387. 字符串中的第一个唯一字符

一、题目

函数原型

int firstUniqChar(char* s)
二、算法

设置一个大小为26的字符数组,位置0 - 25 分别对应字符 a - z 。遍历两次字符串,第一次记录下每个字符出现的次数,第二次检查哪个字符最先遍历到且出现次数为1,返回该字符即可。
三、代码

cpp 复制代码
int firstUniqChar(char* s) {
    int nums[26]={0};
    memset(nums,0,sizeof(nums));
    int sz=strlen(s);
    for(int i=0;i<sz;i++)
    {
        nums[s[i]-'a']++;
    }
    for(int i=0;i<sz;i++)
    {
        if(nums[s[i]-'a']==1)
            return i;
    }
    return -1;
}
相关推荐
散峰而望21 小时前
C/C++输入输出初级(一) (算法竞赛)
c语言·开发语言·c++·算法·github
Kuo-Teng21 小时前
LeetCode 160: Intersection of Two Linked Lists
java·算法·leetcode·职场和发展
fie888921 小时前
基于MATLAB的狼群算法实现
开发语言·算法·matlab
偷偷的卷1 天前
【算法笔记 11】贪心策略六
笔记·算法
ZPC82101 天前
FPGA 部署ONNX
人工智能·python·算法·机器人
_w_z_j_1 天前
爱丽丝的人偶
算法
老前端的功夫1 天前
Vue2中key的深度解析:Diff算法的性能优化之道
前端·javascript·vue.js·算法·性能优化
想要打 Acm 的小周同学呀1 天前
爬虫相关的面试问题
爬虫·selenium·职场和发展
yongui478341 天前
基于深度随机森林(Deep Forest)的分类算法实现
算法·随机森林·分类
是苏浙1 天前
零基础入门C语言之C语言实现数据结构之单链表经典算法
c语言·开发语言·数据结构·算法