[LintCode] Letter Combinations of a Phone Number

Given a digit string excluded 01, return all possible letter combinations that the number could represent.

A mapping of digit to letters (just like on the telephone buttons) is given below.

Cellphone

Although the above answer is in lexicographical order, your answer could be in any order you want.

 

The order of letter combinations is dicated by the given digit string order. For the given example "23", any of 2's mapping{a, b, c} must appear before any of 3's mapping{d, e, f};

Thus line 18 picks one letter mapping of a digit, add it to the string buffer, then proceed to repeat the same process on the next digit. The output condition is that we've picked 

one mapping for each digit. 

 

Example

Given "23"

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

 

 

Related Problems

 

posted @ 2017-09-28 11:39  Review->Improve  阅读(289)  评论(0编辑  收藏  举报