String Without Aaa Or Bbb Problem
Description
LeetCode Problem 984.
Given two integers a and b, return any string s such that:
- s has length a + b and contains exactly a ‘a’ letters, and exactly b ‘b’ letters,
- The substring ‘aaa’ does not occur in s, and
- The substring ‘bbb’ does not occur in s.
Example 1:
1
2
3
Input: a = 1, b = 2
Output: "abb"
Explanation: "abb", "bab" and "bba" are all correct answers.
Example 2:
1
2
Input: a = 4, b = 1
Output: "aabaa"
Constraints:
- 0 <= a, b <= 100
- It is guaranteed such an s exists for the given a and b.
Sample C++ Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Solution {
public:
string strWithout3a3b(int A, int B) {
string res;
while (A && B) {
if (A > B) {
res += "aab";
A--;
} else if (B > A) {
res += "bba";
B--;
} else {
res += "ab";
}
A--;
B--;
}
while (A--)
res += "a";
while (B--)
res += "b";
return res;
}
};