一、题目
函数原型
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
相关推荐
mount_myj1 小时前
敏感信息屏蔽(一)【java】先做个垃圾出来………2 小时前
偏移量解释Dream it possible!2 小时前
LeetCode 面试经典 150_链表_旋转链表(64_61_C++_中等)FanXing_zl2 小时前
基于整数MCU的FOC控制定标策略深度解析立志成为大牛的小牛2 小时前
数据结构——三十三、Dijkstra算法(王道408)地平线开发者3 小时前
mul 与 reduce_sum 的优化实例坚持编程的菜鸟3 小时前
LeetCode每日一题——Pow(x, n)csdn_aspnet4 小时前
分享MATLAB在数据分析与科学计算中的高效算法案例白云千载尽4 小时前
moveit使用和机器人模型与状态--正向运动学和逆向运动学分析(四)我想吃余4 小时前
【0基础学算法】前缀和刷题日志(三):连续数组、矩阵区域和