class Solution {
public:
string countAndSay(int n) {
if(n==) return "";
string str0="",str1="";
int i,t,count;
char c='*';
for(i=;i<n-;i++){ //一共要数n-1次,假如n=2,那么只要数str1这一次就行了
count=;
if(i%!=){ //i为奇数,数str0
c=str0[];
str1="";
while(c!='\0'){ //将str0 转到str1
t=;
if(str0[count]!='\0'){
while(str0[count]==c){ //判断前一个字符串里有多少个同样的,记录为count+1次
count++; //记录读出串的位置
t++; //记录相同字的个数
}
str1=str1+char(t+''); //记录到str1中
str1=str1+c;
c=str0[count++];
}
else{
str1=str1+char(t+''); //记录到str1中
str1=str1+c;
c='\0';
}
}
}
else{ //i为偶数,数str1
c=str1[];
str0="";
while(c!='\0'){ //将str0 转到str1
t=;
if(str1[count]!='\0'){
while(str1[count]==c){ //判断前一个字符串里有多少个同样的,记录为count+1次
count++; //记录读出串的位置
t++; //记录相同字的个数
}
str0=str0+char(t+''); //记录到str1中
str0=str0+c;
c=str1[count++];
}
else{
str0=str0+char(t+''); //记录到str1中
str0=str0+c;
c='\0';
}
}
}
}
if(n%==)
return str0;
else
return str1;
}
};

题意:

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.

当n=1时,返回1;

当n=2时,返回11;  //数n-1时所返回的数,就是1个1的意思

当n=3时,返回21;  //也就是数n=2时所要返回的数,就是两个1;

当n=4时,返回1211;  //可以看到n=3时返回的是21,有一个2和一个1,即1211

。。。。。

类推下去,格式是这样子的     [多少个][什么样的字符][多少个][什么样的字符]。。。。

思路:

用两个字符串,从n=1开始数,完了存到一个字符串,这个字符串的内容就是n=2所需要返回的。再数这个字符串里的东西,存到另一个字符串。

控制好数的次数就行了,问题不大。

最新文章

  1. 一、HTTPServer,RequestHandler,ServerHandler,Handler
  2. poj2079Triangle(N点中三点组成三角形面积最大)
  3. hdu 3172 Virtual Friends(并查集)University of Waterloo Local Contest 2008.09
  4. cdoj 92 Journey tarjan/lca 树上点对距离
  5. 一个使用CSocket类的网络通信实例
  6. springmvc+mongodb+maven 项目测试代码
  7. const与static的区别
  8. FZU Problem 1895 整除45问题(整除问题+字符串维护+优化)
  9. angular、vue使用感受
  10. Gradle 1.12 翻译——第九章 Groovy快速入门
  11. github使用个人总结
  12. Little Red Riding Hood
  13. SQL SERVER利用BCP命令在命令行下导出数据到csv文件中
  14. Nginx+Tomcat集群配置
  15. CopyOnWriteArrayList源码解析(1)
  16. 未能找到 CodeDom 提供程序类型“Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider,
  17. jsTree 插件
  18. WPF Demo10 嵌套Winform、RadGridView、
  19. Java使用AES加密解密
  20. Spring boot处理OPTIONS请求

热门文章

  1. lable对picbox透明
  2. mysql 索引总结
  3. validate验证注册表单
  4. 强联通分量之kosaraju算法
  5. Mac 安装flutter 踩坑记
  6. 深入理解Java虚拟机 学习总结
  7. P3379 【模板】最近公共祖先(LCA)(倍增)
  8. bootstrap multiselect的使用 多选下拉菜单
  9. vue——做了一个幼稚的小页面
  10. JS——制作简单的网页计算器