#include<string>
#include<iostream>
using namespace std;
class Solution {
public:
string countAndSay(int n) {
if(n == 0)
return "";
if(n == 1)
return "1";
string str = "1";
//每次都得到当前 的 串
// 怎么得到的?
// 当指针指向一个数的时候,直接有计量的数为1,如果 在不越界的情况下,后面一个数和当前数相同,则计数++
// 当后面一个数和当前数不同的时,生成字符串:先放计数值,后放当前值。且记得把计数归一
for(int i=2;i<=n;i++){
int size = str.size();
string help = "";
int num = 1;
for(int j=0;j<size; j++){
if((j+1) < size && str[j]==str[j+1]){
num++;
}else{
help += to_string(num);
help += str[j];
num = 1;
}
}
str = help;
}
return str;
}
};
int main(){
Solution s;
cout << s.countAndSay(4);
return 0;
}