题目内容
在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。
1 2 3 4 5 6 7 8 9 10 11 12 13
| 示例 1:
输入:s = "abaccdeff" 输出:'b' 示例 2:
输入:s = "" 输出:' '
限制:
0 <= s 的长度 <= 50000
|
解法一: 哈希表(暴力法)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| class Solution { public: char firstUniqChar(string s) { unordered_map<char,int> cmap;
for(char c:s){ cmap[c] +=1; }
for(char c:s){ if(cmap[c] ==1) return c; } return ' '; } };
|
结果:
1 2 3 4 5 6 7 8 9 10 11 12
| 执行用时: 36 ms , 在所有 C++ 提交中击败了 55.09% 的用户 内存消耗: 10.5 MB , 在所有 C++ 提交中击败了 42.52% 的用户 通过测试用例: 105 / 105
|