完全な配列の問題。
クラスのソリューション{ 公共の一覧<文字列> letterCombinations(文字列の数字){ 地図 <文字、文字列> dictの= 新しい HashMapの<> (); dict.put( '2'、 "ABC" ); dict.put( '3'、 "DEF" )。 dict.put( '4'、 "GHI" )。 dict.put( '5'、 "JKL" )。 dict.put( '6'、 "MNO" )。 dict.put( '7'、 "PQRS" )。 dict.put( '8'、 "TUV" )。 dict.put( '9'、 "WXYZ" ); リスト<ストリング> RES = 新規のArrayList <> (); もし(digits.length()== 0){ 戻り、RES} res.add( "" )。 用(文字D:digits.toCharArray()){ リストの<string>デモ= 新規のArrayList <> (); 用(文字c:dict.get(D).toCharArray()){ ため(文字列S:RES){ demo.add(新規のStringBuilder(S).append(C).toString()); } } RES = デモ。 } リターン本当に; } }
クラスソリューション: DEF letterCombinations(自己、数字:STR) - > リスト[STR]: マップ = { ' 2 ':' ABC '、' 3 ':' DEF '、' 4 ':' GHI '、' 5 ':' JKL '、' 6 ':' MNO '、' 7 ':「PQRS' ' 8 ':' TUV ' ' 9 ':' WXYZ ' } なら ない数字:リターン[] RES = [ '' ] のための D で桁: デモ = [] のための C にマップ[D]: デモ + = [ELE + C 用 ELE におけるRES] RES = デモ リターン RES