题目链接
题目:
分析:
- 题目的意思如下:
- 所以我们需要引用双指针来找到连续的字符有几个, 并添加到答案中, 接着将此字符添加到答案中, 让left = right , 继续向后遍历整个字符串, 重复上面的操作
- 将答案重新赋给字符串, 继续重复上述操作, 应该重复n - 1 次, 因为n为1的时候, 直接输出"1"即可
代码:
class Solution {
public String countAndSay(int n) {
String ret = "1";
while (n > 1) {
int left = 0;
int right = 0;
StringBuilder str = new StringBuilder();
int len = ret.length();
while (right < len) {
while (right < len && ret.charAt(left) == ret.charAt(right)) {
right++;
}
str.append(Integer.toString(right - left));
str.append(ret.charAt(left));
left = right;
}
ret = str.toString();
n--;
}
return ret;
}
}