Count and Say

读到多少个数是一重循环,每个数还要一个个判断是否重复是二重循环。

注意:第n个序列实际上是读第n-1个序列后的结果,所以只要循环n-1

class Solution {
public:
    string countAndSay(int n) {
     if(n==0) return "";
     string res="1";
     while(--n)
     {
        string cur="";
         for(int i=0;i<res.size();i++)
         {
             int num=1;
             while((i+1<res.size() && res[i]==res[i+1]))
             {
                 num++;
                 i++;
             }
             cur+=to_string(num)+res[i];
         }
         res=cur;
     }
     return res;
    }
};
原文地址:https://www.cnblogs.com/daocaorenblog/p/5273117.html