标签:
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.
字符串处理一定要注意边界和细节!
class Solution { public: string covert(string s){ char p = s[0]; int cnt = 1; string ans; for(int i = 1; i <= s.size(); i++){ if(s[i] == p) cnt++; else { char tmp = cnt + '0'; ans =ans + tmp + p; cnt = 1; p = s[i]; } } return ans; } string countAndSay(int n) { string ss = "1"; for(int i = 1; i < n; i++) ss = covert(ss); return ss; } };
标签:
原文地址:http://blog.csdn.net/sina012345/article/details/44155079