题解 | #牛群的配对# 提供一个很屎的方案
牛群的配对
https://www.nowcoder.com/practice/c6677c8bd0d946e191051f19100c5cf5
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return bool布尔型
*/
bool isPair(const string& s, int indexL, int indexR){
char nextChar = s.at(indexR);
switch(s.at(indexL)){
case 'A':
if(nextChar == 'B') return true;
else return false;
case 'B':
return false;
case 'C':
if(nextChar == 'D') return true;
else return false;
case 'D':
return false;
default:
std::cout << "Invalid bull code..." << std::endl;
return false;
}
}
bool isValidPairing(string s) {
bool tempFlag = false;
string tempS = s;
if(tempS.length()%2==1) return false;
int indexL, indexR;
while(tempS.length() > 1){
indexL = 0;
indexR = indexL + 1;
while(!tempFlag && indexL < tempS.length() - 1){
//cout << tempS.at(indexL) << " " << tempS.at(indexR) << endl;
tempFlag = isPair(tempS, indexL, indexR);
//cout << "tempFlag: " << tempFlag << endl;
indexL += 1;
indexR += 1;
}
if(indexL >= tempS.length() - 1 && !tempFlag) return false;
if(indexL != 0){
tempS = tempS.substr(0, indexL - 1) + tempS.substr(indexL + 1);
}else{
tempS = tempS.substr(indexL+1);
}
indexL = 0;
indexR = 1;
tempFlag = false;
}
return true;
}
};
上海得物信息集团有限公司公司福利 1166人发布