15算法课程 38. Count and Say

来源:互联网 发布:清华软件研究生怎么样 编辑:程序博客网 时间:2024/06/06 02:41


The count-and-say sequence is the sequence of integers with the first five terms as following:

1.     12.     113.     214.     12115.     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 term of the count-and-say sequence.

Note: Each term of the sequence of integers will be represented as a string.

Example 1:

Input: 1Output: "1"

Example 2:

Input: 4Output: "1211"


solution:
第n次的字符串是读出第n-1次的字符串,要求求出第n次字符串。没发现第n次的字符串和n之间有关系,所以直接用暴力的方法----从1~n都读一遍。

code:
class Solution {public:string countAndSay(int n){string s = "1";while(--n){int i = 0;string tmp;s += '#';while(i < s.size()-1){int count = 1;while(s[i] == s[i+1]) {++count;++i;}tmp += to_string(count) + s[i];++i;}s = tmp;}return s;}};
原创粉丝点击