给定一个字符串
s,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回-1。示例 1:
输入: s = "leetcode" 输出: 0示例 2:
输入: s = "loveleetcode" 输出: 2示例 3:
输入: s = "aabb" 输出: -1提示:
1 <= s.length <= 105s只包含小写字母
解题思路:创建一个数组(注意大小,如果要是a位于数组第一个位置,只需大于26即可,但如果只要相对26字母表顺序,需大于126(打印字符))记录每一个字母出现的次数,记录过后,再次循环,s[i]- 'a' (图1)/s[i](图二)即为对应的字母在arr处的存储位置,判断是否为一即可
- class Solution {
- public:
- int firstUniqChar(string s) {
- int arr[26] = {0};
- int i = 0;
- for( i = 0;i
size();i++) - {
- arr[s[i]-'a']++;
- }
- for(i = 0;i
size();i++) - {
- if(arr[s[i]-'a']==1)
- {
- return i;
- }
- }
- return -1;
- }
- };
- class Solution {
- public:
- int firstUniqChar(string s) {
- int i = 0;
- int size = s.size();
- //只用管相对顺序,不用非得从0开始
- int count[256] = {0};
- for(i = 0;i
- {
- count[s[i]]+=1;//每个字母对应的位置++
- }
- for(i = 0;i
- {
- if(count[s[i]]==1)
- return i;
- }
- return -1;
- }
- };
-
相关阅读:
【JAVA】03 对象
【工具】旋转图片-数据集制作工具, 开源!
labview中如何更快的生成数组
DSP篇--C6678功能调试系列之TIMER、UART调试
JVM篇---第三篇
C语言回顾(指针篇)
图片批量转为PDF怎么转?这些方法亲测实用
Android使用Glide类加载服务器中的图片
深入理解RocketMQ 广播消费
ggplot2 -- geom_linerange 函数的简单使用
-
原文地址:https://blog.csdn.net/2301_80464369/article/details/138871477