文字の組み合わせ電話番号Leetcode-017-

完全な配列の問題。

クラスのソリューション{
     公共の一覧<文字列> 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

 

おすすめ

転載: www.cnblogs.com/huangzengrui/p/12446257.html