读到多少个数是一重循环,每个数还要一个个判断是否重复是二重循环。
注意:第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; } };