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"].
Note:
Although the above answer is in lexicographical order, your answer could are in any order you want.
Here is the code for my AC:
/**/
classSolution { Public: Vector<string> Lettercombinations (stringdigits) {Map<Char,string>digittostring; Digittostring.insert (Make_pair ('0',"")); Digittostring.insert (Make_pair ('1',"")); Digittostring.insert (Make_pair ('2',"ABC")); Digittostring.insert (Make_pair ('3',"def")); Digittostring.insert (Make_pair ('4',"Ghi")); Digittostring.insert (Make_pair ('5',"JKL")); Digittostring.insert (Make_pair ('6',"MnO")); Digittostring.insert (Make_pair ('7',"PQRS")); Digittostring.insert (Make_pair ('8',"TUV")); Digittostring.insert (Make_pair ('9',"WXYZ")); Vector<string>ret; stringpath; Lettercombinationsrec (digits, ret, path, digittostring); returnret; } voidLettercombinationsrec (Const string&digits, Vector<string> &ret,string&path, Map<Char,string> &digittostring) { if(path.size () = =digits.size ()) {ret.push_back (path); return; } for(ConstAuto &digit:digittostring[digits[path.size ()]) {path.push_back (digit); Lettercombinationsrec (digits, ret, path, digittostring); Path.erase (Path.size ()-1); } }};
[Leetcode] Letter combinations of a Phone number