【发布时间】:2018-03-04 22:57:39
【问题描述】:
public static String decompressString (String text) {
int count = 0;
StringBuilder result = new StringBuilder () ;
for (int i = 0; i < text.length(); i++) {
char c = text.charAt(i);
if (Character.isDigit(c)) {
count = count * 10 + c - '0';
} else {
while (count >0){
result.append(c);
count--;
}
}
}
return result.toString();
}
该程序应该从 main 方法(例如 5A5Bcd)中获取一个运行长度编码的字符串,并以运行长度解码的格式返回该字符串。 5A5Bcd -> AAAAABBBBBcd。我遇到的问题是代码似乎忽略了前面没有数字的字符。在上面的示例中,我返回 AAAAABBBBB 而不是 AAAAABBBBBcd; 'c' 和 'd' 前面没有数字,因此无法识别。任何想法,我已经被困在这一点上很长一段时间了。
【问题讨论】:
标签: java decoding run-length-encoding