1.题目

2.解法
class Solution {
public String countAndSay(int n) {
String res = "1";
for (int k = 2; k <=n; k++) {
StringBuffer buf = new StringBuffer();
int count = 1;
char pre = res.charAt(0);
for (int i = 1; i < res.length(); i++) {
if (pre == res.charAt(i)) {
count++;
} else {
buf.append(count).append(pre);
pre = res.charAt(i);
count = 1;
}
}
buf.append(count).append(pre);
res = buf.toString();
}
return res;
}
}
==时间复杂度O(n^2), 空间复杂度为O(M),假设总共读取了M个字符。
## 3.思考
@1:总共有n个字符串,设置一个共有res,来不断传递
@2:内部来pre来计算相等的次数