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;
}
};