代码如下:
class Solution {
public:
vector<int> fun(int n){
if (n == 1){
return vector<int>(1, 1);
}
vector<int> data = fun(n - 1);
int tmp = 0, count = 0;
vector<int> tmp_data;
for(int i = 0; i < data.size(); i++){
if(tmp != data[i]){
if( i != 0){
tmp_data.push_back(count);
tmp_data.push_back(tmp);
}
tmp = data[i];
count = 1;
}else{
count ++;
}
if(i == (data.size() - 1))
{
tmp_data.push_back(count);
tmp_data.push_back(tmp);
}
}
return tmp_data;
}
string countAndSay(int n) {
string data = "";
vector<int> output_data = fun(n);
for(int i = 0; i < output_data.size(); i++){
stringstream ss;
ss << output_data[i];
data += ss.str();
}
return data;
}
};