一、题目
函数原型
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
相关推荐
We་ct11 小时前
LeetCode 173. 二叉搜索树迭代器:BSTIterator类 实现与解析weixin_3954489111 小时前
main.c_0222cursorZik----12 小时前
Leetcode27 —— 移除元素(双指针)踩坑记录12 小时前
leetcode hot100 79. 单词搜索 medium 递归回溯陆嵩12 小时前
GMRES 方法的数学推导及其算法表示天真小巫12 小时前
2026.2.21总结plus4s12 小时前
2月22日(94-96题)学历真的很重要12 小时前
【系统架构师】第三章 数据库系统知识 - 数据库基础到关系代数(详细版)tankeven13 小时前
HJ98 喜欢切数组的红adore.96813 小时前
2.22 oj基础92 93 94+U12