Ответ довольно прост.вы не можете ничего удалить из строки, но вы можете переместить их в другую String
, как хотите.
public class Solution {
public static void main(String[] args) {
String s = "abbccd", s1 = "";
if(s.charAt(1) != s.charAt(0))
s1 += s.charAt(0);
if(s.charAt(s.length()-1) != s.charAt(s.length()-2))
s1 += s.charAt(s.length()-1);
for (int i = 1; i < s.length() - 1; i++) {
if (s.charAt(i) != s.charAt(i - 1) && s.charAt(i) != s.charAt(i + 1))
s1 += s.charAt(i);
}
System.out.println(s1);
}
}
Вы создаете другую строку.Затем в цикле for, который повторяется от 1
(NOT 0
) до s.length()-1
(NOT s.length()
), вы проверяете, равен ли s.charAt(i)
(текущий символ) предыдущему или следующему.Если он не равен ни одному из них, вы добавляете его ко второму String
и затем печатаете его.Мы проверяем обе стороны, поэтому цикл имеет значение от 1
до s.length()-1
, чтобы избежать исключений за пределами границ.
РЕДАКТИРОВАТЬ: для проверки первого и последнего символа.