您的位置:首页 > 其它

leetcode-38-count and say

2016-10-18 09:46 381 查看
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.

求第n个序列的输出。

基本思路,迭代。

循环计算下一个输出,循环调用next函数。

int b=8;

char a=b+’0’

此句将b转换成str的‘8’存在a中。

class Solution {
public:
string next(string s)
{
string ret;
char pre =s[0];
int count = 1;
for(int i = 1; i < s.size(); i ++)
{
if(s[i]==pre)
{
count ++;
}else{

char tmp =  count+'0';  //整数count转换成字符
ret = ret + tmp + pre;
pre = s[i];
count = 1;
}
}
char tmp =  count+'0';
ret = ret + tmp + pre;
return   ret;
}
string countAndSay(int n) {
string ret = "1";
int j = 1;
while( j< n){
ret=next(ret);
j++;
}
return ret;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: