您的位置:首页 > 其它

LeetCode-Count and Say

2014-12-28 00:35 225 查看
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 sequence.

Note: The sequence of integers will be represented as a string.
class Solution {
public:
string countAndSay(int n);
};

string Solution::countAndSay(int n)
{
string b = "";
if(n == 1) return "1";
if(n == 2) return "11";
string s = "11";
//ong long  num = 2;
for(int i = 2; i < n; i++)   //变化次数就是 n-1;
{
for(int j = 0; j < s.size();4)
{ int k = j+1;
while (k < s.size() && s[k] == s[j]) {
k++;
}
b += (k - j + '0');
b += s[j];
j = k;
}

s = b;
b = "";
}
return s;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: