// A Ġmessage Ġcontaining Ġletters Ġfrom ĠA - Z Ġcan Ġbe Ġencoded Ġinto Ġnumbers Ġusing Ġthe Ċ // following Ġmapping : Ġ Ċ // Ċ // Ġ Ċ //' A ' Ġ-> Ġ" 1 " Ċ //' B ' Ġ-> Ġ" 2 " Ċ // ... Ċ //' Z ' Ġ-> Ġ" 2 6 " Ċ // Ġ Ċ // Ċ // ĠTo Ġdecode Ġan Ġencoded Ġmessage , Ġall Ġthe Ġdigits Ġmust Ġbe Ġgrouped Ġthen Ġmapped Ġ Ċ // back Ġinto Ġletters Ġusing Ġthe Ġreverse Ġof Ġthe Ġmapping Ġabove Ġ( there Ġmay Ġbe Ġmultiple Ġ Ċ // ways ). ĠFor Ġexample , Ġ" 1 1 1 0 6 " Ġcan Ġbe Ġmapped Ġinto : Ġ Ċ // Ċ // Ġ Ċ // Ġ" AA JF " Ġwith Ġthe Ġgrouping Ġ( 1 Ġ 1 Ġ 1 0 Ġ 6 ) Ġ Ċ // Ġ" KJ F " Ġwith Ġthe Ġgrouping Ġ( 1 1 Ġ 1 0 Ġ 6 ) Ġ Ċ // Ġ Ċ // Ċ // ĠNote Ġthat Ġthe Ġgrouping Ġ( 1 Ġ 1 1 Ġ 0 6 ) Ġis Ġinvalid Ġbecause Ġ" 0 6 " Ġcannot Ġbe Ġmapped Ġ Ċ // into Ġ' F ' Ġsince Ġ" 6 " Ġis Ġdifferent Ġfrom Ġ" 0 6 ". Ġ Ċ // Ċ // ĠGiven Ġa Ġstring Ġs Ġcontaining Ġonly Ġdigits , Ġreturn Ġthe Ġnumber Ġof Ġways Ġto Ġdecode Ġ Ċ // it . Ġ Ċ // Ċ // ĠThe Ġanswer Ġis Ġguaranteed Ġto Ġfit Ġin Ġa Ġ 3 2 - bit Ġinteger . Ġ Ċ // Ċ // Ġ Ċ // ĠExample Ġ 1 : Ġ Ċ // Ċ // Ġ Ċ // Input : Ġs Ġ= Ġ" 1 2 " Ċ // Output : Ġ 2 Ċ // Explanation : Ġ" 1 2 " Ġcould Ġbe Ġdecoded Ġas Ġ" AB " Ġ( 1 Ġ 2 ) Ġor Ġ" L " Ġ( 1 2 ). Ċ // Ġ Ċ // Ċ // ĠExample Ġ 2 : Ġ Ċ // Ċ // Ġ Ċ // Input : Ġs Ġ= Ġ" 2 2 6 " Ċ // Output : Ġ 3 Ċ // Explanation : Ġ" 2 2 6 " Ġcould Ġbe Ġdecoded Ġas Ġ" BZ " Ġ( 2 Ġ 2 6 ), Ġ" VF " Ġ( 2 2 Ġ 6 ), Ġor Ġ" BB F " Ġ( 2 Ġ 2 Ċ // Ġ 6 ). Ċ // Ġ Ċ // Ċ // ĠExample Ġ 3 : Ġ Ċ // Ċ // Ġ Ċ // Input : Ġs Ġ= Ġ" 0 " Ċ // Output : Ġ 0 Ċ // Explanation : ĠThere Ġis Ġno Ġcharacter Ġthat Ġis Ġmapped Ġto Ġa Ġnumber Ġstarting Ġwith Ġ 0 . Ċ // Ċ // The Ġonly Ġvalid Ġmappings Ġwith Ġ 0 Ġare Ġ' J ' Ġ-> Ġ" 1 0 " Ġand Ġ' T ' Ġ-> Ġ" 2 0 ", Ġneither Ġof Ġ Ċ // which Ġstart Ġwith Ġ 0 . Ċ // H ence , Ġthere Ġare Ġno Ġvalid Ġways Ġto Ġdecode Ġthis Ġsince Ġall Ġdigits Ġneed Ġto Ġbe Ġ Ċ // mapped . Ċ // Ġ Ċ // Ċ // ĠExample Ġ 4 : Ġ Ċ // Ċ // Ġ Ċ // Input : Ġs Ġ= Ġ" 0 6 " Ċ // Output : Ġ 0 Ċ // Explanation : Ġ" 0 6 " Ġcannot Ġbe Ġmapped Ġto Ġ" F " Ġbecause Ġof Ġthe Ġleading Ġzero Ġ(" 6 " Ġis Ġ Ċ // different Ġfrom Ġ" 0 6 "). Ċ // Ġ Ċ // Ċ // Ġ Ċ // ĠConstraints : Ġ Ċ // Ċ // Ġ Ċ // Ġ 1 Ġ<= Ġs . length Ġ<= Ġ 1 0 0 Ġ Ċ // Ġs Ġcontains Ġonly Ġdigits Ġand Ġmay Ġcontain Ġleading Ġzero ( s ). Ġ Ċ // Ġ Ċ // ĠRelated ĠTop ics ĠString ĠDynamic ĠProgramming ĠðŁĳį Ġ 5 5 7 7 ĠðŁĳ İ Ġ 3 6 0 6 ĊĊ Ċ package Ġle et code Problem . leetcode . editor . en Ċ Ċ class ĠDecode W ays Ġ{ ĊĠĠĠ Ġfun Ġsolution () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// below Ġcode Ġwill Ġbe Ġused Ġfor Ġsubmission Ġto Ġle et code Ġ( using Ġplugin Ġof Ġcourse ) ĊĠĠĠ Ġ// leetcode Ġsubmit Ġregion Ġbegin ( Pro hibit Ġmodification Ġand Ġdeletion ) ĊĠĠĠ Ġclass ĠSolution Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnum De codings ( s : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġn Ġ= Ġs . length ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdp Ġ= ĠInt Array ( n Ġ+ Ġ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdp [ 0 ] Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdp [ 1 ] Ġ= Ġif Ġ( s [ n Ġ- Ġ 1 ] Ġ!= Ġ' 0 ') Ġ 1 Ġelse Ġ 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 2 .. n ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurrent Ġ= Ġn Ġ- Ġi ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġone Ġ= Ġs . substring ( current , Ġcurrent Ġ+ Ġ 1 ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtwo Ġ= Ġs . substring ( current , Ġcurrent Ġ+ Ġ 2 ). toInt () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdp [ i ] Ġ= Ġ( if Ġ( one Ġ> Ġ 0 ) Ġdp [ i Ġ- Ġ 1 ] Ġelse Ġ 0 ) Ġ+ Ġ( if Ġ( two Ġin Ġ 1 0 .. 2 6 ) Ġdp [ i Ġ- Ġ 2 ] Ġelse Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdp [ n ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ // leetcode Ġsubmit Ġregion Ġend ( Pro hibit Ġmodification Ġand Ġdeletion ) Ċ Ċ } Ċ Ċ fun Ġmain () Ġ{} ĊĊĊĊĊĊĊĊĊĊĊĊĊĊĊĊ ĊĊ ĊĊĠĠ ĊĊ