一、题目
函数原型
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
相关推荐
碧海银沙音频科技研究院几秒前
BES2800BP_nuttx编译环境搭建方法Felven10 分钟前
B. Make Almost Equal With Mod脆皮炸鸡75511 分钟前
Linux~~基础IO踩坑记录15 分钟前
leetcode hot100 416. 分割等和子集 medium 动态规划 01背包 DFS深度优先搜索colofullove17 分钟前
文本分块策略与预处理三毛的二哥18 分钟前
BEV:感知抖动问题及解决办法AI科技星18 分钟前
宇宙终极几何:莫比乌斯光速螺旋统一理论-精细结构常数α本源结构Via_Neo32 分钟前
区间dp算法amcomputer33 分钟前
简单总结拉格朗日乘数法hi_ro_a34 分钟前
C++ 手撕 STL 底层:红黑树封装 mymap/myset