leetcode——38——Count and Say
1215 ワード
The count-and-say sequence is the sequence of integers beginning as follows:
Given an integer n, generate the nth sequence.
Note: The sequence of integers will be represented as a string.
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 s = "1";
for(int i = 1; i < n; ++ i)
{
int count = 1;
string temp = "";
for(int j = 1; j < s.size(); ++ j)
{
if(s[j] == s[j - 1])
++ count;
else
{
temp = temp + (char)(count + '0') + s[j - 1];
count = 1;
}
}
s = temp + (char)(count + '0') + s[s.size() - 1];
}
return s;
}
};