Simple solution using recursion C++


#1

string cntsay(string str){
int n=str.size();
int cnt=1;
string res="";
for(int i=0;i<n-1;i++){
if(str[i]==str[i+1])
cnt++;
else{
res+=to_string(cnt);
res+=str[i];
cnt=1;
}
}
res+=to_string(cnt);
res+=str[n-1];

return res;

}

string Solution::countAndSay(int n) {
if(n==1)
return “1”;
return cntsay(countAndSay(n-1));
}