一、题目
函数原型
int firstUniqChar(char* s)
二、算法设置一个大小为26的字符数组,位置0 - 25 分别对应字符 a - z 。遍历两次字符串,第一次记录下每个字符出现的次数,第二次检查哪个字符最先遍历到且出现次数为1,返回该字符即可。
三、代码
cppint 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; }
leetcode:387. 字符串中的第一个唯一字符
南林yan2023-11-05 8:28
相关推荐
文丑颜不良啊9 小时前
LeetCode1941~1960题目解析MUSHANGXS12 小时前
大模型时代的新蓝海-基于OS底层的AI-Agent应用老师我太想进步了202613 小时前
【数据结构-4】算法美学之顺序表风影同志7832413 小时前
编码器是激活函数吗?—— 一个看起来很像、其实不是的类比UIU11413 小时前
P1481 魔族密码文丑颜不良啊14 小时前
LeetCode1961~1980题目解析文丑颜不良啊14 小时前
LeetCode2001~2020题目解析加宝的起点雷达17 小时前
40 条候选里 38 条来自同一个源,主卡整屏重样秋天的怀念_David17 小时前
算法一千零一夜 · 第二十六夜 协议的母语