一、题目
函数原型
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
相关推荐
爱炼丹的James2 分钟前
第三章 搜索和图论菜菜笔记3 分钟前
【无标题】努力努力再努力wz8 分钟前
【QT入门系列】QWidget 六大常用属性详解:windowOpacity、cursor、font、focus、toolTip 与 styleSheet酉鬼女又兒10 分钟前
零基础入门计算机组成原理:控制器章节全考点汇总 | 寄存器 + 控制存储器 + 微指令Gauss松鼠会15 分钟前
GaussDB(DWS) 资源监控Topsql夏日听雨眠15 分钟前
数据结构(快速排序)薇茗17 分钟前
【初阶数据结构】 升沉有序的平仄 排序 3薇茗19 分钟前
【初阶数据结构】 升沉有序的平仄 排序 2AI科技星24 分钟前
强哥德巴赫猜想(1+1)终极证明(2026 年5月 21 日)人道领域24 分钟前
【LeetCode刷题日记】654.最大二叉树:递归算法详解