1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| class Solution { public: string countAndSay(int n) { string ret = "1"; for(int i = 2; i <= n; ++i) { int num = 1; char pre = ret[0]; string tmp; for(int j = 1, sz = ret.size(); j < sz; ++j) { if(ret[j] != pre) { tmp += (char)(num + '0'); tmp += pre; pre = ret[j]; num = 1; }else ++num; } tmp += (char)(num + '0'); tmp += pre; ret = tmp; } return ret; } };
|