一、题目
函数原型
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
相关推荐
ShineWinsu1 小时前
对于C++:继承的解析—上pp起床2 小时前
动态规划 | part05GuangHeAI_ATing2 小时前
国密算法SSD怎么选?这3款国产固态硬盘安全又高速雨泪丶2 小时前
代码随想录算法训练营-Day34Yzzz-F2 小时前
牛客寒假算法训练营2甄心爱学习3 小时前
【python】获取所有长度为 k 的二进制字符串iAkuya3 小时前
(leetcode)力扣100 76数据流的中位数(堆)键盘鼓手苏苏3 小时前
Flutter for OpenHarmony: Flutter 三方库 ntp 精准同步鸿蒙设备系统时间(分布式协同授时利器)董董灿是个攻城狮3 小时前
AI 视觉连载5:传统 CV 之均值滤波多恩Stone4 小时前
【3D-AICG 系列-11】Trellis 2 的 Shape VAE 训练流程梳理