题目简单来说是:给一串数字,对应手机键盘输入法的九宫格,比如2代表abc三个字母,3代表def等等。然后列出这串数字能组合出的字符串。
思路很简单,就是简单的枚举,这里讲一下几个注意的点:
1、首先如果使用的操作是ans.push_back(tempans[i]+str[j])这样,那么有个问题,最初的ans是没有成员的,所以会导致tempans也为空,那么循环的判定条件i
2、另外一个是,string的成员(string[i])可以直接进行加减字符,如str=board[digits[i]-'0'],这样一来,就能用传统的减'0'的方法,获得字符串对应的数字了。
3、关于sort,如果vector的成员是字符串,也能按照字典序排序,方法是sort(vec.begin(),vec.end());