LeetCode Count and Say 数数字
2024-08-25 21:35:09
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所需要返回的。再数这个字符串里的东西,存到另一个字符串。
控制好数的次数就行了,问题不大。
最新文章
- 一、HTTPServer,RequestHandler,ServerHandler,Handler
- poj2079Triangle(N点中三点组成三角形面积最大)
- hdu 3172 Virtual Friends(并查集)University of Waterloo Local Contest 2008.09
- cdoj 92 Journey tarjan/lca 树上点对距离
- 一个使用CSocket类的网络通信实例
- springmvc+mongodb+maven 项目测试代码
- const与static的区别
- FZU Problem 1895 整除45问题(整除问题+字符串维护+优化)
- angular、vue使用感受
- Gradle 1.12 翻译——第九章 Groovy快速入门
- github使用个人总结
- Little Red Riding Hood
- SQL SERVER利用BCP命令在命令行下导出数据到csv文件中
- Nginx+Tomcat集群配置
- CopyOnWriteArrayList源码解析(1)
- 未能找到 CodeDom 提供程序类型“Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider,
- jsTree 插件
- WPF Demo10 嵌套Winform、RadGridView、
- Java使用AES加密解密
- Spring boot处理OPTIONS请求