一、题目
函数原型
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 分钟前
【LeetCode刷题日记】225.用队列实现栈--三招实现栈操作(多种思维)新新学长搞科研19 分钟前
【高届数机械工程会议】第十二届机械工程、材料和自动化技术国际学术会议(MMEAT 2026)狐璃同学29 分钟前
数据结构(2)线性表啦啦啦_999934 分钟前
4. KNN算法之 特征预处理(归一化&标准化)淘气包海鸟1 小时前
雷达基本原理Tisfy1 小时前
LeetCode 2615.等值距离和:分组(哈希表+前缀和)啦啦啦_99991 小时前
2. KNN算法之 分类&回归API实现X journey1 小时前
机器学习进阶(23):K-means聚类mjhcsp1 小时前
根号快速计算牛顿迭代法菜鸟丁小真1 小时前
LeetCode hot100-79.单词搜索