タイトル説明
文字にのみ表示されます初めての文字列を検索するために機能を実装してください。例えば、文字ストリームは最初の2つの文字を読み取ったときに、最初の文字は一度だけ「G」を発生し、「行きます」。文字ストリームから「グーグル」最初の6つの文字を読み出すときは、最初の一つだけの文字が「L」で表示されます。
出力説明:
現在の文字列が文字がある表示されない場合は、#文字を返します。
ソリューション:
ハッシュテーブルの数が繰り返された文字の後に見ていないかのように、文字が繰り返され、選出された、それぞれの文字が表示されます記録
1 クラスソリューション 2 { 3 公共: 4。 // にstringstreamから挿入一のチャー 5。 ボイド挿入(チャーCH) 6。 { 7。 STR + = CH; 8。 ワード[CH] ++ ; 9。 IF(RES == ' #' &&ワード[CH] == 1)// 新しい文字 10件 のRES = CH; 11 IF(ワード[RES]> 1。 )// 繰り返し 12 { 13は、 RESの= ' #' ; 14 用(INT I =インデックス、I()はstr.lengthを<; Iは++)// 順次未処理文字に対して繰り返さ 15 { 16 IF(ワード[STR [I]] == 1。) 。17 { 18は RES = STR [I]; 19 インデックス= I; 20は BREAK 、 21である } 22である } 23である } 24 } 25 //現在にstringstreamにチャー一度最初appearenceを返す 26 チャーFirstAppearingOnceを() 27 { 28の リターンRES。 29 } 30 プライベート: 31 列 STR = "" ; 32 のintワード[ 256 ] = { 0 }。 33 int型のインデックス= 0 。 34 チャーのRES = ' #' 。 35 }。