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"
or 1211
.
Given an integer n, generate the nth sequence.
Note: The sequence of integers will be represented as a string.
1 class Solution { 2 public: 3 string countAndSay(int n) { 4 if(n==0) return ""; 5 string res="1"; 6 while(--n){ 7 string tmp=""; 8 for(int i=0;i<res.size();i++){ 9 int count=1; 10 while(res[i]==res[i+1]&&i+1<res.size()){ 11 count++;i++; 12 } 13 tmp+=to_string(count)+res[i]; 14 } 15 res=tmp; 16 } 17 return res; 18 } 19 };