贪心选择:A比B多,每次消耗两个A一个B;
B比A多,每次消耗两个B,一个A;
A与B相同,同时消耗一个A一个B。
注意考虑一方的个数减为0的情况。
class Solution {
public:
string strWithout3a3b(int A, int B) {
string ans;
while(1){
if(!A&&B){
ans+="b";
B--;
}
if(!B&&A){
ans+="a";
A--;
}
if(!A&&!B) break;
if(A>B&&B){
ans+="aab";
A-=2;
B-=1;
}
else if(A<B&&A){
ans+="bba";
A-=1;
B-=2;
}
else if(A==B){
ans+="ab";
A--;
B--;
}
}
return ans;
}
};