:
... .
, ; , . , .
, , "aabccdde". , . -, .
:
private static String deleteConsecutiveDuplicates(String string,
char lastSeenLetter,
StringBuilder builder)
, -, , : " /null?" .
static String deleteConsecutiveDuplicates(String string) {
if(null == string || string.length() == 0) {
return string;
} else {
return deleteConsecutiveDuplicates(string.substring(1),
string.charAt(0),
new StringBuilder());
}
}
, , .
1: 'a' | "abccdde" | ""
, , .
2: 'b' | "ccdde" | "a"
.
, "abcde".
, , . , - .
, ( , , .. "zzzzzzz" "z" ), , - .
private static String deleteConsecutiveDuplicates(String string, char lastSeenLetter, StringBuilder builder) {
if(string.length() == 0) {
builder.append(lastSeenLetter);
} else if(string.charAt(0) == lastSeenLetter) {
builder.append(lastSeenLetter);
if(string.length() < 2 ) {
return builder.toString();
}
return deleteConsecutiveDuplicates(string.substring(2), string.charAt(1), builder);
} else {
if(builder.charAt(builder.length() - 1) != lastSeenLetter) {
builder.append(lastSeenLetter);
}
return deleteConsecutiveDuplicates(string.substring(1), string.charAt(0), builder);
}
return builder.toString();
}