Leetcode 17.レター電話番号(水)の組み合わせ

電話番号の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 }。

 

おすすめ

転載: www.cnblogs.com/shanyr/p/11518389.html