Count and Say 数字统计
原创
©著作权归作者所有:来自51CTO博客作者我想有个名字的原创作品,请联系作者获取转载授权,否则将追究法律责任
Count and Say
The count-and-say sequence is the sequence of integers beginning as follows:
1, 11, 21, 1211, 111221, ...
1
is read off as "one 1"
or 11
.
11
is read off as "two 1s"
or 21
.
21
is read off as "one 2
, then one 1"
or 1211
.
Given an integer n, generate the nth
Note: The sequence of integers will be represented as a string.
class Solution {
public:
string countAndSay(int n) {
string res="1";
int k=1;
while(k<n)
{
res=solve(res);
k++;
}
return res;
}
string solve(string res)
{
string ans;
char pre=res[0];
int k=1;
int i;
for(i=1;i<res.length();i++)
{
if(pre==res[i])
{
k++;
}
else
{
char temp=k+'0';
ans+=temp;
ans+=pre;
pre=res[i];
k=1;
}
}
char temp=k+'0';
ans+=temp;
ans+=pre;
return ans;
}
};