The count-and-say sequence is the sequence of integers beginning as follows:
1, 11, 21, 1211, 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"
or1211
.
Given an integer
Examplen
, generate the n
th sequence.
Given n =
5
, return "111221"
.
Note
The sequence of integers will be represented as a string.
class Solution { public: string countAndSay(int n) { string str = "1"; for(int i=1;i<n;i++) { int len = str.length(); int start = 0; string res; for(int j=1;j<len;j++) { if(str[j] != str[j-1]) { res += to_string(j-start) + str[j-1]; start = j; } } res += to_string(len-start) + str[len-1]; str = res; } return str; } };