一、题目
函数原型
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
相关推荐
程序员雷欧7 小时前
大厂计算机网络面试高频题鱼很腾apoc9 小时前
【学习篇】第20期 超详解 C++ 多态:从语法规则到底层原理JAVA学习通10 小时前
美团AI面试 实习一面面经小许同学记录成长11 小时前
三维重建技术文档小为资料库12 小时前
2026年5月16日教资面试真题汇总(中小幼各科全)小O的算法实验室12 小时前
2026年ASOC,基于多目标优化去噪双存档进化算法+路径规划,深度解析+性能实测2601_9545267513 小时前
逆向解析Temu底层动销算法:基于API高并发轮询与全域存量透视的自动化架构重构Σίσυφος190013 小时前
数据标准化(拟合的时候使用非常重要)knight_9___13 小时前
大模型project面试7