電話番号の17文字の組み合わせ
中
数字を含む文字列を考えると2-9
包括的、数は表すことができ、すべての可能な文字の組み合わせを返します。
(ちょうど電話ボタンのような)の文字に数字のマッピングは以下のとおりです。1は、任意の文字にマップされないことに注意してください。
例:
入力: "23" 出力: [ "広告"、 "AE"、 "AF"、 "BD"、 "あること"、 "BF"、 "CD"、 "CE"、 "CF"]。
注意:
上記の答えが辞書式順序であるが、あなたの答えは、あなたが望む任意の順序である可能性があります。
1 クラスソリューション{ 2 公共: 3 ベクトル< ストリング > letterCombinations(文字列の数字){ 4 地図< 文字、文字列 > 試験。 5 試験[ ' 2 ' ] = " ABC " 。 6 試験[ ' 3 ' ] = " DEF " 。 7 試験[ ' 4 ' ] = " GHI " 。 8 試験[ ' 5 ' ] = " JKL " 。 9 試験[ ' 6 ' ] = " MNO " 。 10 試験[ ' 7 ' ] = " PQRS " 。 11 試験[ ' 8 ' ] = " TUV " 。 12 試験[ ' 9 ' ] = " WXYZ " 。 文字列 > fa_。 14 ベクター< ストリング > chil_。 15 fa_.push_back("" )。 16 のために(int型 I = 0 ; iが++; iがdigits.length()< ){ 17 chil_.clearを(); 18 のために(INT J = 0 ; J <fa_.size(); J ++ ){ 19 // のprintf( "%D%s"は、試験[桁[I]の長さ())。 20 のための(int型のk = 0 ; K <試験[桁[I]の長さ(); ++ k個){ 21 //printf( "%sの"、試験[桁[I] [K])。 22 chil_.push_back(fa_ [J] + 試験[桁[I] [K])。 23 } 24 } 25 fa_ = chil_。 26 } 27 リターンchil_。 28 } 29 }。