Public classSolution { PublicList<string>Res; PublicStringBuilder seq; PublicList<string>lettercombinations (String digits) {//The subject is similar to a fully arranged variant, and each optional value of the entire arrangement needs to be taken out according to the incoming number corresponding//DFS idea. Recursion in the loop, recursive function requires a parameter level, indicating the number of recursive bitsres=NewArraylist<string>(); Seq=NewStringBuilder (); if(Digits.length () ==0)returnRes; String[] Trans={"", "", "abc", "Def", "Ghi", "JKL", "MnO", "PQRS", "TUV", "WXYZ"}; getlettercom (digits,0, trans); returnRes; } Public voidGetlettercom (String digits,intlevel,string trans[]) { if(level==digits.length ()) {Res.add (seq.tostring ()); return; } intN=digits.charat (level)-' 0 '; String Temp=Trans[n]; for(intI=0;i<temp.length (); i++) {seq.append (Temp.charat (i)); Getlettercom (Digits,level+1, trans); Seq.deletecharat (level); } }}
[Leedcode 17] Letter combinations of a Phone number