不含 AAA 或 BBB 的字符串

给定两个整数 a 和 b ,返回 任意 字符串 s ,要求满足:
s 的长度为 a + b,且正好包含 a 个 ‘a’ 字母与 b 个 ‘b’ 字母;
子串 ‘aaa’ 没有出现在 s 中;
子串 ‘bbb’ 没有出现在 s 中。

  • 输入:a = 1, b = 2

  • 输出:”abb”
    解释:”abb”, “bab” 和 “bba” 都是正确答案。

  • 输入:a = 4, b = 1

  • 输出:”aabaa”

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var strWithout3a3b = function(A, B) {
var max = Math.max(A, B), min = B, a,b, str='';
if (max - 3 >= 2 * min){return false;}
if (max == A) {
a = 'a';
b = 'b';
} else {
min = A;
a= 'b';
b = 'a';
}
while (max >0) {
if (max > min) {
str +=a;
max--;
}
if (min > 0) {
str +=a+b;
max--;
min--;
}
}
return str;
};