一、题目
函数原型
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
相关推荐
liliangcsdn几秒前
DDPM前向加噪过程详细推导没有bug.的程序员18 分钟前
Sentinel 流控原理深度解析:构建高可用微服务的底层架构深圳佛手19 分钟前
IVFFlat 与 HNSW 算法介绍与对比Dream it possible!23 分钟前
LeetCode 面试经典 150_分治_将有序数组转换为二叉搜索树(105_108_C++_简单)(递归)Q741_14723 分钟前
C++ 栈 模拟 力扣 227. 基本计算器 II 题解 每日一题徐新帅25 分钟前
CSP 二进制与小数进制转换专题及答案解析wxdlfkj26 分钟前
从硬件极限到算法补偿:构建微米级工件特征“在机测量”闭环系统的技术路径解析王璐WL27 分钟前
【数据结构】二叉树经典算法题和选择题jllllyuz28 分钟前
MATLAB多目标优化:SQP算法实现im_AMBER31 分钟前
数据结构 14 【复习】二叉树中序遍历 | 线索二叉树 | 树、森林、二叉树的转换 | 层次遍历二叉树