给定一个字符串
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;
- }
- };
-
相关阅读:
十八、字符串(3)
软件测试那十个不为人知的秘密,千万不要被误解了、
H.264编码及AAC编码基础
Vue 3 第二十二章:组件十(组件高级特性-组件的渲染函数和JSX/TSX语法)
JavaScript中this的绑定规则
openvino cpp使用
LeetCode 164. 最大间距
软考系列(系统架构师)- 2017年系统架构师软考案例分析考点
计算机保研复习
云原生 PostgreSQL - CrunchyData PGO 教程:创建、连接、删除 Postgres 集群
-
原文地址:https://blog.csdn.net/2301_80464369/article/details/138871477