1.题目:https://leetcode-cn.com/problems/count-and-say/solution/bao-shu-by-gpe3dbjds1/
2.思路
(1)思想:只要读懂题意,这道题很简单。即下一个数说出了上一个数的组成,所以,按照这个思路就把上一个数依次从左往右读就行,比如:上一个数是11,那上一个数就由2个1组成,所以下一个数是21;再例如:上一个数是111221,就由3个1、2个2、1个1组成,那下一个数就是312211。代码有详细注释:
(2)一句话解释: 不断由前一个数推下一个数
3.代码
https://leetcode-cn.com/problems/count-and-say/solution/javahe-cwei-di-gui-0ms-by-heator/#comment
https://leetcode-cn.com/problems/count-and-say/solution/bao-shu-by-gpe3dbjds1/
class Solution {
public:
string countAndSay(int n) {
if (n==1)
return "1";
string str1=countAndSay(n-1);
string str2="";
int count=1;
for (int i=0;i {
if (str1[i]==str1[i+1])
{
count++;
continue;
}
else
{
if (str1[i]!=str1[i+1])//注释掉也可以跑
{
str2+=to_string(count)+str1[i];
count=1;
}
}
}
return str2;
}
};
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net