Count and Say
2015-12-12 12:47
507 查看
stringstream的用法
当重复使用其转换string时,一定要使用stringstream.str("")来清空
class Solution {
public:
string countAndSay(int n) {
if(n==1){
return "1";
}else{
return cal(countAndSay(n-1));
}
}
string cal(string s){
string re = "";
if(s.size()==1)
return "11";
int count = 0;
stringstream ss;
int j = 0;
for(int i = 1;i < s.length();i++){
if(s[i]==s[j]){
count++;
}else{
count++;
ss<<count;
re = re+ss.str();
//ss.clear();
ss.str("");
count = 0;
re+=s[j];
j=i;
}
}
count++;
//stringstream ss2;
ss<<count;
re+=ss.str();
re+=s[j];
return re;
}
};
当重复使用其转换string时,一定要使用stringstream.str("")来清空
class Solution {
public:
string countAndSay(int n) {
if(n==1){
return "1";
}else{
return cal(countAndSay(n-1));
}
}
string cal(string s){
string re = "";
if(s.size()==1)
return "11";
int count = 0;
stringstream ss;
int j = 0;
for(int i = 1;i < s.length();i++){
if(s[i]==s[j]){
count++;
}else{
count++;
ss<<count;
re = re+ss.str();
//ss.clear();
ss.str("");
count = 0;
re+=s[j];
j=i;
}
}
count++;
//stringstream ss2;
ss<<count;
re+=ss.str();
re+=s[j];
return re;
}
};
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- 关于指针的一些事情
- android上改变listView的选中颜色
- String.intern
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- PostgreSQL ERROR: invalid escape string 解决办法
- C++联合体转换成C#结构的实现方法
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析