题解 | #第一个只出现一次的字符#
第一个只出现一次的字符
https://www.nowcoder.com/practice/1c82e8cf713b4bbeb2a5b31cf5b0417c
class Solution { public: int FirstNotRepeatingChar(string str) { // write code here unordered_map<char,int> m; for(int i = 0; i < str.size(); ++i) { m[str[i]]++; } // for(auto i : m) // { // std::cout << i.first << " " << i.second << std::endl; // } // 这个打印有点怀疑自己对unordered_map认知~ // 跟同事讨论讨论,发现一个情况,该容器底层是hash,迭代器内部会重构序列,并不是 // 根据存入顺序;访问map时,记得使用key访问即可~ for(int i = 0; i < str.size(); ++i) // 这个比较微妙,很好保留原有的序列号,但又不影响新容器的遍历情况 { if(m[str[i]] == 1) { return i; } } return -1; } };
挤挤刷刷! 文章被收录于专栏
记录coding过程