Count and Say
The count-and-say sequence is the sequence of integers with the first five terms as following:
1. 1 2. 11 3. 21 4. 1211 5. 111221
1
is read off as "one 1"
or 11
.
11
is read off as "two 1s"
or 21
.
21
is read off as "one 2
, then one 1"
or 1211
.
class Solution {
public:
string countAndSay(int n) {
if(n==1) return "1";
string str = countAndSay(n-1)+'*';
int count = 1;
string out="";
for(int i=0;i<str.size()-1;i++)
{
if(str[i] == str[i+1]) count++;
else
{
stringstream s;
s << count;
out = out+s.str()+str[i];
count=1;
}
}
return out;
}
};