一、题目
函数原型
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
相关推荐
Asize7 分钟前
数组数据结构底层:从灵活到陷阱hairenwangmiao32 分钟前
B4041 [GESP202409 四级] 区间排序人道领域43 分钟前
【LeetCode刷题日记】47.全排列Ⅱ漂流瓶jz44 分钟前
UVA-1606 两亲性分子 题解答案代码 算法竞赛入门经典第二版Navigator_Z1 小时前
LeetCode //C - 1095. Find in Mountain Array心软小念1 小时前
2026软件测试高频面试题不会就选b1 小时前
算法日常・每日刷题--<二分查找>1「維他檸檬茶」1 小时前
大模型算法学习2026.6.13叫我:松哥1 小时前
基于Python的共享单车租赁数据分析与预测系统,技术栈flask+boostrap+随机森林+XGBoostBAGAE2 小时前
星链卫星数据获取:从太空安全到实时通信的技术革命