解題思路
對照的部分用 string array 紀錄,同時以 auto 方式遍歷會比較方便。
程式碼
class Solution { public: vector<string> letterCombinations(string digits) { string mapping[10] = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"}; queue<string> q; vector<string> ans; if(digits == "") return ans; q.push(""); for(int i=0; i<digits.size(); i++) { int n = q.size(); while(n--) { string temp = q.front(); q.pop(); for(auto c : mapping[digits[i] - '0']) q.push(temp + c); } } while(!q.empty()) { ans.push_back(q.front()); q.pop(); } return ans; } };
沒有留言:
張貼留言