嗨,我正在尝试解决leetcode中的“ Binary Watch”问题。 这是我的问题。 运行代码时出现错误:“引用绑定到'struct value_type'类型的空指针” 。 我怎么找到问题出在哪里?
class Solution {
公开
:vector<int> generate_string(vector<int> &in){
vector<int> res;
for(int i=0; i<in.size()-1;i++){
for(int j=i+1; j< in.size();j++){
res.push_back(in[i]+in[j]);
}
}
return res;
}
vector<string> readBinaryWatch(int num) {
vector<string> res;
if(num ==0){
res.push_back("0:00");
return res;
}
vector<vector<int>> h_part;
vector<vector<int>> m_part;
h_part[0].push_back(0);
h_part[1].push_back(1);
h_part[1].push_back(2);
h_part[1].push_back(4);
h_part[1].push_back(8);
for(int i=1; i< 3;i++){
h_part[i+1] = generate_string(h_part[i]);
}
m_part[0].push_back(0);
m_part[1].push_back(1);
m_part[1].push_back(2);
m_part[1].push_back(4);
m_part[1].push_back(8);
m_part[1].push_back(16);
m_part[1].push_back(32);
for(int i=1; i< 5;i++){
m_part[i+1] = generate_string(m_part[i]);
}
for(int i=0; i<num; i++){
if(i<=4){
for(int j=0; j<h_part[i].size();j++){
for(int k=0; k<m_part[num-i].size();k++){
string s;
if(m_part[num-i][k]>=10)
s=to_string(h_part[i][j])+':'+to_string(m_part[num-i][k]);
else
s=to_string(h_part[i][j])+':'+'0'+to_string(m_part[num-i][k]);
res.push_back(s);
}
}
}
}
return res;
}
};