您的位置:首页 > 其它

字符流中第一个不重复的字符

2016-05-03 09:57 246 查看
class Solution
{
public:
//Insert one char from stringstream
Solution():index_(0)
{
for(int i=0;i<256;i++)
{
ascii[i]=-1;
}
}
void Insert(char ch)
{
if(ascii[ch]==-1)
ascii[ch]=index_;
else if(ascii[ch]>=0)
ascii[ch]=-2;
index_++;
}
//return the first appearence once char in current stringstream
char FirstAppearingOnce()
{
int minIndex=65535;
char ch='#';
for(int i=0;i<256;i++)
{
if(ascii[i]>=0&&minIndex>ascii[i])
{
ch=(char)i;
minIndex=ascii[i];
}
}
return ch;

}
private:
int ascii[256];
int index_;
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: