這是很容易使用迭代,但我必須使用遞歸來做到這一點。我試着保留一個字符串中字符出現的次數,位置以及字符串和輸出的其餘部分。如何在java中遞歸地解壓給定的字符串?
public static String uncompress(String compressedText) {
return uncompress(compressedText, 1, 0, "");
}
public static String uncompress(String text, int count, int pos, String output) {
if (text.equals("")) {
return "";
}
if (Character.isLetter(text.charAt(pos))) {
output += text.charAt(0);
pos++;
}
else if(Character.isDigit(text.charAt(pos))) {
count = text.charAt(pos) - '0';
output += text.charAt(pos + 1);
count++;
pos++;
}
text = text.substring(pos + 1);
uncompress(text, count, pos, output);
return output;
}
有什麼問題嗎?問題是什麼?標題中的問題,但沒有任何內容。 –
如何解壓縮字符串,例如:「3b2a」---- bbbaa。我有我的代碼,我正在努力.. – user647207
爲什麼你想這樣做遞歸 - 這是作業嗎? –