题目地址
难度:⭐
题目描述:
在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。
示例:
1 2 3 4 5
| s = "abaccdeff" 返回 "b"
s = "" 返回 " "
|
限制:
0 <= s 的长度 <= 50000
🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️解题过程🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️🙋♂️
解题过程:
思路:
计数法:对字符串s中的不同字符计数,然后遍历s,依次判断字符是否只出现一次直到找到只出现一次的字符,否则返回单空格字符。
c++代码:(执行用时140ms,击败38.88%,内存消耗11M,击败19.96%)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| class Solution { public: char firstUniqChar(string s) { unordered_map<char,int> m; for(char c:s){ m[c]++; } for(char c:s){ if(m[c]==1){ return c; } } return ' '; } };
|
⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳总 结⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳⏳
总结:
没有官方题解,水一道简单题😁