您的位置:首页 > 其它

lintcode-medium-Letter Combinations of a Phone Number

2016-03-25 08:26 567 查看
Givenadigitstring,returnallpossiblelettercombinationsthatthenumbercouldrepresent.

Amappingofdigittoletters(justlikeonthetelephonebuttons)isgivenbelow.



Given
"23"


Return
["ad","ae","af","bd","be","bf","cd","ce","cf"]




publicclassSolution{
/**
*@paramdigitsAdigitalstring
*@returnallposiblelettercombinations
*/
publicArrayList<String>letterCombinations(Stringdigits){
//Writeyourcodehere
if(digits==null||digits.length()==0)
returnnewArrayList<String>();

String[]strs={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};

ArrayList<String>result=newArrayList<String>();
StringBuilderline=newStringBuilder();

helper(result,line,0,digits,strs);

returnresult;
}

publicvoidhelper(ArrayList<String>result,StringBuilderline,intstart,Stringdigits,String[]strs){
if(start==digits.length()){
result.add(line.toString());
return;
}

intindex=digits.charAt(start)-'0';
for(inti=0;i<strs[index].length();i++){
line.append(strs[index].charAt(i));
helper(result,line,start+1,digits,strs);
line.deleteCharAt(start);
}

return;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: