count-and-say

来源:互联网 发布:centos命令 desktop 编辑:程序博客网 时间:2024/05/16 03:25

题目:

The count-and-say sequence is the sequence of integers beginning as follows:
1, 11, 21, 1211, 111221, …
1is read off as”one 1”or11.
11is read off as”two 1s”or21.
21is read off as”one 2, thenone 1”or1211.
Given an integer n, generate the n th sequence.
Note: The sequence of integers will be represented as a string.

程序:

class Solution {public:    string countAndSay(int n) {        if(n <= 0)            return "";        string res = "1";        for(int i=1;i<n;i++)        {            string t = "";            int count = 1;            for(int j=1;j<res.length();j++)            {                if(res[j] == res[j-1])                     count++;                else{                    t.push_back(count+'0');                    t.push_back(res[j-1]);                    count = 1;                }            }            t.push_back(count+'0');            t.push_back(res[res.length()-1]);            res = t;        }        return res;    }};
原创粉丝点击