91復号化方法
含む文字 A-Z
以下のように符号化されたメッセージを:
'A' - > 1 'B' - > 2 ... 'Z' - > 26
空でない文字列が数字だけを含む与えられ、復号方法の合計数を計算します。
例1:
入力: "12" 出力:2 説明:それは"AB"(1 2)または"L"(12)のように復号することができます。
例2:
入力: "226" 出力:3の 説明:それは"BZ"として復号することができる(2 26)、 "VF"(22 6)、 または"BBF"(2 2 6) 。
パブリック クラスT91 {の 公共 int型numDecodings(文字列S){ IF(s.charAt(0)== '0' ){ 戻り 0 ; } int型 [] DP = 新しい新しい INT [s.length()+ 1 ]; DP [ 0] = 1 ; DP [。1] = 1 ; のための(INT ; I <= s.length(); I = 2 I ++ ){ // 0に等しい場合、この決意をスキップ IF(s.charAt(I - 1)= '0'!){ DP [I] + DP = [I - 1 ]; } もし(1)<= '6' - 2)== '1' ||(s.charAt(I - - 2)== '2')&& s.charAt(I s.charAt(I ){ [DP I] + = DP [I - 2 ]。 } } 戻りDP [s.length()]。 } }