文字列からすべての重複を削除するか、パラメーターに基づいて同じ 2 文字のみを連続して保持するメソッドを作成しようとしています。
例えば:
helllllllo -> helo
また
helllllllo -> hello
- これは二重文字を保持します
現在、次のようにして重複を削除します。
private String removeDuplicates(String word) {
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < word.length(); i++) {
char letter = word.charAt(i);
if (buffer.length() == 0 && letter != buffer.charAt(buffer.length() - 1)) {
buffer.append(letter);
}
}
return buffer.toString();
}
二重文字を保持したい場合は、プライベート文字列のようなメソッドを持つことを考えていましたremoveDuplicates(String word, boolean doubleLetter)
doubleLetter
true の場合はhello
notを返しますhelo
多くのコードを複製せずにこれを行う最も効率的な方法はわかりません。