36_leetcode_Count and Say
2014-06-19 07:04
441 查看
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:特殊情况, n <= 0; 2: 统计相同字符连续出现的次数,并先保存次数,后保存字符;以这样的形式遍历数组;3:把最后统计的次数和字符保存到字符串中。
string countAndSay(int n)
{
if ( n <= 0)
{
return "";
}
string temp = "1";
string result = "1";
for(int i = 1; i < n; i++)
{
int count = 1;
int number = temp[0] - '0';
int k = 1;
result.clear();
for(; temp[k] != '\0'; k++)
{
if(temp[k] - '0' == number)
{
count++;
}
else
{
result.push_back(count + '0');
result.push_back(number + '0');
count = 1;
number = temp[k] - '0';
}
}
result.push_back(count + '0');
result.push_back(number + '0');
temp = result;
}
return result;
}
1, 11, 21, 1211, 111221, ...
1is read off as
"one 1"or
11.
11is read off as
"two 1s"or
21.
21is 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.
1:特殊情况, n <= 0; 2: 统计相同字符连续出现的次数,并先保存次数,后保存字符;以这样的形式遍历数组;3:把最后统计的次数和字符保存到字符串中。
string countAndSay(int n)
{
if ( n <= 0)
{
return "";
}
string temp = "1";
string result = "1";
for(int i = 1; i < n; i++)
{
int count = 1;
int number = temp[0] - '0';
int k = 1;
result.clear();
for(; temp[k] != '\0'; k++)
{
if(temp[k] - '0' == number)
{
count++;
}
else
{
result.push_back(count + '0');
result.push_back(number + '0');
count = 1;
number = temp[k] - '0';
}
}
result.push_back(count + '0');
result.push_back(number + '0');
temp = result;
}
return result;
}
相关文章推荐
- python实现 LeetCode36——Count and Say
- LeetCode 40: Count and say
- LeetCode | Count and Say(统计并输出)
- LeetCode 38 Count and Say
- LeetCode | Count and Say
- [leetcode]Count and Say
- leetcode - Count and Say
- leetcode——38——Count and Say
- LeetCode - Count and Say
- 37 leetcode - Count and Say
- LeetCode——Count and Say
- leetcode由易入难——【6】Count and Say
- Leetcode Num.38 -- Count and Say
- leetcode Count and Say
- Leetcode (3) Count and Say
- [LeetCode] Count and Say
- LEETCODE: Count and Say
- LeetCode 之 Count and Say
- 【LeetCode】Count and Say
- Count and Say-LeetCode