1.题目 2.解法 class Solution { public String countAndSay(int n) { String res = "1"; // 总共有n个字符串 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); // 已经有1个了 count = 1; } } buf.append(count).append(pre); res = buf.toString(); } return res; } } ==时间复杂度O(n^2), 空间复杂度为O(M),假设总共读取了M个字符。 ## 3.思考 @1:总共有n个字符串,设置一个共有res,来不断传递 @2:内部来pre来计算相等的次数