3
我有一个RLE压缩算法下面的Java代码:RLE压缩
public static String compress (String original) {
String compressed = "";
char letter = 0;
int count = 1;
for (int i = 0; i < original.length(); i++) {
if (letter == original.charAt(i)) {
count = count + 1;
}
else {
compressed = compressed + letter;
if(count != 1) {
compressed = compressed + count;
}
letter = original.charAt(i);
count = 1;
}
}
compressed = compressed + letter;
if(count != 1) {
compressed = compressed + count;
}
return compressed;
}
如果输入是aaaawwwweerrr
输出应该是:3a4w2e3r
实际的输出是:a3w4e2r3
我试过切换
compressed = compressed + count
到
compressed = count + compressed
,但是当我这样做,输出:244 awer3
我应该如何修改代码以使输出处于适当的顺序?
你改变,这两个发生? – usr2564301
else语句中的if语句 – Hamon148