leetcode 038 Count and Say
2016-04-25 20:49
483 查看
The count-and-say sequence is the sequence of integers beginning as follows:
Given an integer n, generate the nth sequence.
Note: The sequence of integers will be represented as a string.
#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
using namespace std;
class Solution {
public:
string countAndSay(int n) {
if(n == 0) return NULL;
if(n==1) {
return "1";
}
string ret = countAndSay(n-1);
string ans = "";
int len = ret.length();
char pre = ret[0], count = '1';
for(int i=1; i < len; i++) {
if(ret[i] == pre) {
count++;
} else {
ans=ans+count+pre;
count = '1';
pre = ret[i];
}
}
ans = ans+count+pre;
return ans;
}
}
1, 11, 21, 1211, 111221, ...
1is read off as
"one 1"or
11.
11is read off as
"two 1s"or
21.
21is read off as
"one 2, then
one 1"or
1211.
Given an integer n, generate the nth sequence.
Note: The sequence of integers will be represented as a string.
#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
using namespace std;
class Solution {
public:
string countAndSay(int n) {
if(n == 0) return NULL;
if(n==1) {
return "1";
}
string ret = countAndSay(n-1);
string ans = "";
int len = ret.length();
char pre = ret[0], count = '1';
for(int i=1; i < len; i++) {
if(ret[i] == pre) {
count++;
} else {
ans=ans+count+pre;
count = '1';
pre = ret[i];
}
}
ans = ans+count+pre;
return ans;
}
}
相关文章推荐
- LintCode:Ugly Number
- POJ_3280_Cheapest_Palindrome_(动态规划)
- 二叉树学习随笔
- Hadoop学习(三)— hdfs : NameNode与DataNode的实现机制
- hdu_1037_今年暑假不AC
- 哈希映射
- Android开发踩过的坑(一)
- C++ try catch 用法
- redis将对象序列化存储
- php发送email最终版
- Android调用WebService详解
- emacs24 配置c++ 开发环境
- CSS清除浮动大全共8种方法
- 代码之髓
- 0041 linux 下配置安装mysql以及配置
- SetupFactory打包要点集合
- 用户认证
- poj 1661 Help Jimmy(DP)
- beamer使用之ppt中插入四张图像,及中文
- Jenkins插件开发(2):开发新插件