题目: 外观数列
来自智得网
分析
递归
因为本题是一个递归的公式定义。
所以可以尝试使用递归进行求解,f(n)对f(n-1)的数字进行描述。
描述的过程是对连续相同的数字进行计数,然后将这些计数信息描述出来。
题解
class Solution {
public String solute(int n) {
if (n == 1) {
return "1";
}
StringBuffer result = new StringBuffer();
String facadeString = solute(n - 1);
int length = facadeString.length();
int sameCharStart = 0;
for (int i = 1; i < length + 1; i++) {
if (i == length) {
result.append(i - sameCharStart).append(str.charAt(sameCharStart));
} else if (facadeString.charAt(i) != facadeString.charAt(sameCharStart) ) {
result.append(i - sameCharStart).append(facadeString.charAt(sameCharStart));
sameCharStart = i;
}
}
return result.toString();
}
}