难在理解题意,n+1个数是对第n个数的报数
比如11124445,报数就是3个1一个2三个4一个5【31123415】
class Solution {
public:
string countAndSay(int n) {
string s = "1", t;
while (--n) {
char val = s[0]; int n = 1;
for (int i = 1; i < s.size(); ++i) {
if (s[i] == s[i - 1]) ++n;
else t += to_string(n) + val, val = s[i], n = 1;
}
t += to_string(n) + val;
s = t, t = "";
}
return s;
}
};