您的位置:首页 > 其它

[LeetCode] Count and Say, Solution

2016-01-12 11:10 295 查看
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[/i], generate the n[/i]th sequence.
Note: The sequence of integers will be represented as a string.
» Solve this problem

[Thoughts]
string-operation. The only trick thing is Line11. seq[seq.size()] always ‘’. It will help to save an “if” statement.

[code]1:    string countAndSay(int n) {
2:      // Start typing your C/C++ solution below
3:      // DO NOT write int main() function
4:      string seq ="1";
5:      int it =1;
6:      while(it<n)
7:      {
8:        stringstream newSeq;
9:        char last =seq[0];
10:        int count =0;
11:        for(int i =0; i<
=
seq.size();i++)
12: {
13: if(seq[i] ==last)
14: {
15: count ++;
16: continue;
17: }
18: else
19: {
20: newSeq<<count<<last;
21: last =seq[i];
22: count =1;
23: }
24: }
25: seq =newSeq.str();
26: it++;
27: }
28: return seq;
29: }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: