タイトル説明
文字にのみ表示されます初めての文字列を検索するために機能を実装してください。例えば、文字ストリームは最初の2つの文字を読み取ったときに、最初の文字は、唯一の「G」一度起こる「行きます」。最初の6つの文字を読み出すときに最初に一つだけの文字「L」が表示され、文字ストリームから「グーグル」。
思考
ハッシュ:その文字数の出現数が1であれば戻り、その後、文字列を横断した後、文字は数字プラス1の配列に対応した後に1回の読み出し文字ずつをそれぞれの文字列表現の出現数を作成します。
コード
class Solution
{
public:
string str;
int Hash[128];
//Insert one char from stringstream
void Insert(char ch)
{
str = str + ch;
Hash[ch-NULL]++;
}
//return the first appearence once char in current stringstream
char FirstAppearingOnce()
{
if(str.size() == 0)
return '#';
for(int i = 0; i < str.size();i++)
{
if(Hash[str[i]-NULL] == 1)
return str[i];
}
return '#';
}
};