本文主要是介绍387.字符串中的第一个唯一字符,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
刷算法题:
第一遍:1.看5分钟,没思路看题解
2.通过题解改进自己的解法,并且要写每行的注释以及自己的思路。
3.思考自己做到了题解的哪一步,下次怎么才能做对(总结方法)
4.整理到自己的自媒体平台。
5.再刷重复的类似的题目,根据时间和任务安排刷哪几个板块
6.用c++语言 都刷过一遍了 就刷中等
一.题目
给定一个字符串 s
,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1
。
示例 1:
输入: s = "leetcode" 输出: 0
示例 2:
输入: s = "loveleetcode" 输出: 2
示例 3:
输入: s = "aabb" 输出: -1
提示:
1 <= s.length <= 105
s
只包含小写字母
二、反思
1.自己的解法
class Solution {
public:int firstUniqChar(string s) {unordered_map<char,int> count;for(char c:s){count[c]++;}for(int i = 0; i < s.size(); i++){if(count[s[i]] == 1){return i;}}return -1;}
};
2.题目的解法
2
3.思路的异同
感觉官方的其他题解没有这个这么直观,偷个懒不看了。
三.进步的地方
队列的题就刷到这了,接下来就是栈了,之前也遇到过,应该能快很多。
这篇关于387.字符串中的第一个唯一字符的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!