微信公众号:编程笔记本
微信公众号:编程笔记本
微信公众号:编程笔记本
点击上方蓝字关注我,我们一起学编程
欢迎小伙伴们分享、转载、私信、赞赏
今天分享一个在类中使用 vector 并初始化的小 trick 。
事情的起因是这样的:
在做牛客网的在线编程题时,一个小伙伴问我:“为什么我这里会报错啊?”
题目:
请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符 "go"
时,第一个只出现一次的字符是 "g"
。当从该字符流中读出前六个字符 "google"
时,第一个只出现一次的字符是 "l"
。如果当前字符流没有存在出现一次的字符,返回 "#"
字符。
class Solution
{
public:
string str;
int index = 0;
vector<int> hash(256, 0);
//Insert one char from stringstream
void Insert(char ch)
{
str.push_back(ch);
++hash[ch];
}
//return the first appearence once char in current stringstream
char FirstAppearingOnce()
{
for (int i = index; i < str.size(