Title:
Given a digit string, return all possible letter combinations, the number could represent.
A mapping of Digit to letters (just as on the telephone buttons) is given below.
Input:digit string "Output": ["ad", "AE", "AF", "BD", "Be", "BF", "CD", "CE", "CF"].
A simple DFS Search
classSolution { Public: Map<int,string>Digitsmap; Solution () {digitsmap[0]=""; digitsmap[1]=""; digitsmap[2] ="ABC"; digitsmap[3] ="def"; digitsmap[4] ="Ghi"; digitsmap[5] ="JKL"; digitsmap[6] ="MnO"; digitsmap[7] ="PQRS"; digitsmap[8] ="TUV"; digitsmap[9] ="WXYZ"; } Vector<string> Lettercombinations (stringdigits) {Vector<string>result; if(digits=="") returnresult; stringRET =""; DFS (0, Digits,ret,result); returnresult; } voidDfsintIndexstringSstringret,vector<string>&result) { if(Index = =s.size ()) {Result.push_back (ret); return ; } stringTMP = digitsmap[s[index]-'0']; for(inti =0; I < tmp.size (); i++) {ret.push_back (tmp[i]); DFS (Index+1, S,ret,result); Ret.pop_back (); } if(Index = =0) return ; }};
Leetcode:letter combinations of a Phone number