class Solution {
public:
vector<string> letterCombinations(string digits) {
vector<string>ans;
vector<string>s;
int n = digits.length();
if( n == 0)
return ans;
for ( int i = 0 ; i < n ; i++)
{
switch(digits[i])
{
case '2': s[i] = "abc";break;
case '3': s[i] = "def";break;
case '4': s[i] = "ghi";break;
case '5': s[i] = "jkl";break;
case '6': s[i] = "mno";break;
case '7': s[i] = "pqrs";break;
case '8': s[i] = "tuv";break;
case '9': s[i] = "wxyz";break;
}
}
getString(ans ,s ,0 ,"");
return ans;
}
void getString(vector<string>&ans , vector<string>s ,int i ,string temp )
{
if(i < (s.size()-1))
{
for(int j = 0 ; j < s[i].length() ; j++)
{
getString(ans ,s, i+1 , temp+s[i].at(j));
}
}
else
{
for(int j = 0 ; j < s[i].length() ; j++)
{
temp += s[i].at(j);
ans.push_back(temp);
}
}
return;
}
};
上面這是代碼
Line 923: Char 34: runtime error: reference binding to null pointer of type 'struct value_type' (stl_vector.h)
這是報錯
這是題目:
給定一個僅包含數字 2-9 的字串,回傳所有它能表示的字母組合。
給出數字到字母的映射如下(與電話按鍵相同)。注意 1 不對應任何字母
uj5u.com熱心網友回復:
看你的報錯應該是范圍越界了!uj5u.com熱心網友回復:
我感覺也是 但是我找了半天沒找到在哪 可能自己寫的 ····就是 迷了把
uj5u.com熱心網友回復:
vector<string>s;for ( int i = 0 ; i < n ; i++)
{
switch(digits[i])
{
case '2': s[i] = "abc";break;
這里, s.push_back("abc"); break;
uj5u.com熱心網友回復:
謝謝! 我去試試轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/151736.html
標籤:新手樂園
上一篇:使用Python合成圖片(圖片添加個性化文本,圖片上疊加其他圖片)
下一篇:C++逐字輸出函式
