简单的模拟题,一个数只能用一遍,先把能匹配上的“A”找到,再找“B"
最后使用了一个stringstream的技巧,在C++中,将整数赋值给stringstream对象,即可获得整数相应的字符串
class Solution {
public:
string getHint(string secret, string guess) {
vector<bool> flag_S(secret.size(),false);
vector<bool> flag_G(secret.size(),false);
int ca=0,cb=0;
for(int i = 0;i<secret.size();++i)
{
if(secret[i] == guess[i])
{
ca++;
flag_S[i] = true;
flag_G[i] = true;
}
}
for(int i = 0;i<secret.size();++i)
for(int j = 0;j<guess.size();j++)
{
if(flag_S[i]||flag_G[j]) continue;
if(secret[i] == guess[j])
{
flag_S[i] = true;
flag_G[j] = true;
cb++;
}
}
stringstream na;
na<<ca;
stringstream nb;
nb<<cb;
return na.str()+"A"+nb.str()+"B";
}
};