LeetCode 784レターケース順列(完全な配列総額)

トピックタグ:バックトラック

  DFSを使用すると、コードだけを見るために具体的には、大文字と小文字は再帰的です。

  

 

Javaのソリューション: 

ランタイム:1ミリ秒、より速くより100.00% 

メモリ使用率:42.7メガバイト未満8.00 

完了日:2019年12月15日

キーポイント:DFS

クラスソリューション{
     パブリックリストの<string> letterCasePermutation(文字列S){ 
        リストの<string>結果= 新規のArrayList <> (); 
        
        DFS(その結果、S.toCharArray()、 0 ); 
        
        戻り値の結果; 
    } 
    
    プライベート ボイド DFS(リストの<string> RES、CHAR [] CARR、int型のPOS){
         場合(POS == cArr.length){ 
            res.add(新しい文字列(CARR))。
            リターン; 
        } 
            
        であれば(Character.isLetter(CARR [POS])){
             //下ケース 
            CARR [POS] = Character.toLowerCase(CARR [POS])。
            DFS(RES、CARR、POS +1 )。
            
            // アッパーケース 
            カー[POS] = Character.toUpperCase(CARR [POS])。
            DFS(RES、CARR、POS +1 )。
        } { 
            DFS(RES、CARR、POS +1 )。
        } 
    } 
}

参考文献:N / A

LeetCodeタイトルリスト-  LeetCode質問一覧

トピック出典ます。https://leetcode.com/

おすすめ

転載: www.cnblogs.com/jimmycheng/p/12501638.html