38. 外观数列
思路:模拟
每一次保存上一次字符串的结果,按题意将字符串分段描述即可
class Solution {
public:
string countAndSay(int n) {
if (n == 1) return "1";
string str = "1";
for (int i = 2; i <= n; i ++ ) {
int m = str.size();
string ans;
for (int j = 0; j < m;) {
int cnt = 0, l = j;
char c = str[j];
while (j < m && str[j] == c) j ++ ;
int len = j - l;
ans += to_string(len) + c;
}
str = ans;
}
return str;
}
};