简单题,用模拟的方法完成,对字符串的操作更熟悉了
class Solution {
public:
string countAndSay(int n) {
string ans = "1";
if(n == 1) return ans;
int x,y,xx;
int tmplen;
string tmpans;
string s1;
for(int i=1;i<n;++i)
{
tmpans = "";
tmplen = ans.length();
x=0;
y=1;
while(y<tmplen)
{
while(y < tmplen && ans[y] == ans[x]) ++y;
s1 = to_string(y-x);
tmpans.append(s1);
tmpans += ans[x];
x = y;
++y;
}
if(x < tmplen)
{
tmpans.append("1");
tmpans += ans[x];
}
ans = tmpans;
}
return ans;
}
};