一、题目
函数原型
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
相关推荐
wabs66640 分钟前
关于图论【卡码网117.软件构建的思考】mifengxing1 小时前
LeetCode 41.缺失的第一个正数|Hard题O(n)+O(1)最优解法深度解析Tongzhi20262 小时前
从部署到运维:通芝科技无感考勤一体机的全流程效率解析Wang's Blog2 小时前
AI Agent白手起家30: 动态示例选择器之根据长度选择 Few Shot 示例oyguyteggytrrwwwrt4 小时前
自制交叉线路识别算法手写码匠4 小时前
华为云Flexus+DeepSeek征文|Dify 多智能体协同编排实战:R1 规划 + V3 执行,构建企业 Agent 团队城管不管4 小时前
第六次面试2026.8.5北京一面已OC晓天衡宇•评测社区5 小时前
FSR-Bench 前沿科学推理榜单发布:GPT-5.5 居首,“会推理”未必“能答对”程序喵大人6 小时前
【C++进阶】STL算法与函数对象 - 02 sort为什么需要随机访问迭代器hanlin036 小时前
动态规划专练:力扣第121、122题