一、题目
函数原型
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
相关推荐
飞舞哲6 小时前
三维点云最小二乘拟合MATLAB程序Coder-magician7 小时前
《代码随想录》刷题打卡day12:二叉树part02海梨花7 小时前
字节面试高频算法题aqiu1111117 小时前
python02瓦特what?7 小时前
位运算核心技巧与应用无限码力7 小时前
阿里算法岗 0530笔试真题 - 荆棘林的最优砍断计划人道领域7 小时前
【LeetCode刷题日记】90.子集Ⅱ--- 归纳题解随意起个昵称7 小时前
线性dp-LIS题目5(导弹拦截,二分优化)winlife_7 小时前
全程用 AI 做一款商业级手游 · EP10 道具系统:让三个按钮真正改变棋盘计算机安禾7 小时前
【数据库系统原理】第16篇:范式理论(下):多值依赖与第四范式——消除非平凡的非函数依赖