外观数列-力扣LeetCode 38题C++版
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
方法一递归 双指针维护相同数字的左右边界 c++版
class Solution {
public:
string countAndSay(int n) {
if (n == 1) return "1";
string s = countAndSay(n-1), ans;
int left = 0, right = 0; // 双指针维护相同数字的左右边界
while (left < s.size()) {
while (right < s.size() && s[right] == s[left]) right++;
ans += to_string(right-left) + s[left];
left = right;
}
return ans;
}
};