一、题目
函数原型
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
相关推荐
菜菜的顾清寒2 分钟前
HOT100力扣(40) 动态规划-爬楼梯m沐沐5 分钟前
【机器学习】聚类算法-K-means聚类z落落14 分钟前
C# Dictionary 字典集合+数组、List、Dictionary 三者终极对比醇氧14 分钟前
排队论(牛吃草问题)解题全解析蓝速科技27 分钟前
3D 数字人全息舱算力部署方案对比:本地 X86 独显架构与云端 RK 架构怎么选才好qingyulee42 分钟前
集成学习、聚类算法lqqjuly44 分钟前
机器人状态估计与 SLAM—概率推理到 simultaneous Localization and Mapping清 澜1 小时前
基于 LangChain 从零搭建知识库问答系统sali-tec1 小时前
C# 基于OpenCv的视觉工作流-章79-单位转换兰令水1 小时前
leecodecode【双指针题2】【2026.5.26打卡-java版本】