diff --git a/387. First Unique Character in a String.md b/387. First Unique Character in a String.md new file mode 100644 index 0000000..8a8f8e8 --- /dev/null +++ b/387. First Unique Character in a String.md @@ -0,0 +1,18 @@ +# [387. First Unique Character in a String](https://leetcode.com/problems/first-unique-character-in-a-string/description/) +# 思路 +先遍历一遍字符串,记录每个字符出现的次数,再遍历一遍找出第一个没有重复的字符。 +由于题目说了全部字符都是小写字母,所以开辟一个大小为26的数组记录字符出现次数即可。 +时间复杂度O(n) +# C++ +``` +class Solution { +public: + int firstUniqChar(string s) { + vectorcount(26, 0); + for(int i = 0; i < s.size(); i++) count[s[i] - 'a']++; + for(int i = 0; i < s.size(); i++) + if(count[s[i] - 'a'] == 1) return i; + return -1; + } +}; +```