您的位置:首页 > 编程语言 > C语言/C++

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;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ string stringstream