题目讲解
算法讲解
我们可以看到将相同的划分为一组,使用双指针然后遍历区间
cpp
class Solution {
public:
string countAndSay(int n) {
string ret = "1";
while(--n)
{
string temp;
int left = 0, right = 0;
//相同的归为一组
for(; right < ret.size(); left = right)
{
while(right < ret.size() && ret[left] == ret[right])right++;
temp += to_string(right - left) + ret[left];
}
ret = temp;
}
return ret;
}
};