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.
题意:统计上一个字符串中连续相同的字符的长度,求第n个思路:单纯的模拟
class Solution { public: string countAndSay(int n) { string ans = "1"; for (int i = 1; i < n; i++) { int count = 1; string tmp = ""; for (int j = 1; j < ans.size(); j++) { if (ans[j] == ans[j-1]) { count++; } else { tmp = tmp + (char)(count + '0') + ans[j-1]; count = 1; } } ans = tmp + (char)(count + '0') + ans[ans.size()-1]; } return ans; } };
原文:http://blog.csdn.net/u011345136/article/details/44037151