string countAndSay(int n)
{
string res="1";
while(--n)
{
int count=1;
string temp="";
for(int i=1;i<res.size();i++)
{
if(res[i]==res[i-1])
{
count++;
}
else
{
temp+=to_string(count)+res[i-1];
count=1;
}
}
temp+=to_string(count)+res.back();
res=temp;
}
return res;
}
想法:处理末尾前的数字从第一个位置开始判断,和后边的数字一样count++,否则就加入字符串temp,直到末尾数字的判断,最后返回res。