解题思路:设置一个count来计数,ch为上次记录的字符,一共有n次操作,每次操作的输入字符为前一次产生的string,因此这里面使用到了一个二重for循环,代码如下:
public static String
countAndSay(
int n) {
String
string=
"1";
for (
int i =
0; i < n; i++) {
char ch=
string.charAt(
0);
StringBuffer temp=
new StringBuffer();
int count=
1;
for (
int j =
1; j <
string.length(); j++) {
if (
string.charAt(j)==ch) count++;
else {
temp.append(count);
temp.append(ch);
ch=
string.charAt(j);
count=
1;
}
}
temp.append(count);
temp.append(ch);
string=temp.toString();
}
return string;
}
转载请注明原文地址: https://ju.6miu.com/read-1971.html