题目

算法思想 :这道题目是求出每个连续相同数字的个数+这个数字,因为第n次输出需要用到第n-1次的数据,所以我们自然而然想到递归去处理这一题,从n=1开始向下一级返回结果就可以了。
string countAndSay(int n) {
string result = "";
if(n == 1)
result = "1";
else
{
string tmp = "";
tmp = countAndSay(n-1);
int count = 0,i = 0,j = 0;
while(i < tmp.length())
{
while(tmp[j] == tmp[i] && j < tmp.length())
{
j++;
count++;
}
result += to_string(count) + tmp[i];
i = j;
count = 0;
}
}
return result;
}
博客围绕一道题目展开,其算法思想是求出每个连续相同数字的个数加该数字。因第n次输出依赖第n - 1次数据,采用递归方法处理,从n = 1开始向下一级返回结果,并给出了对应的代码实现。
217

被折叠的 条评论
为什么被折叠?



