您的位置:首页 > 其它

LeetCode38 Count and Say

2016-08-24 21:28 387 查看
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.(Easy)

分析:

按照题目要求以此生成新串即可,注意第一个是串是1,即下标从1开始。

同时,复习使用to_string.

代码:

class Solution {
public:
string countAndSay(int n) {
string s = "1";
for (int i = 1; i < n; ++i) {
int count = 1;
string temp;
for (int j = 0; j < s.size(); ++j) {
if (j == s.size() - 1 || s[j] != s[j + 1]) {
temp += to_string(count);
temp += s[j];
count = 1;
}
else {
count ++;
}
}
s = temp;
}
return s;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: