Задача
В заданной строке поменять местами рядом стоящие символы между собой (1 и 2, 3 и 4 и т.д., для строки нечетной длины, последний символ не менять).
Тесты
Входные данные | Выходные данные |
123456 | 214365 |
abcde | badce |
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import java.util.*; import java.lang.*; import java.io.*; class Main { public static void main (String[] args) throws java.lang.Exception { Scanner in = new Scanner(System.in); String s = in.next(); char[] s1 = s.toCharArray(); char temp; for (int i=1;i<s.length();i+=2){ temp=s.charAt(i-1); s1[i-1]=s.charAt(i); s1[i]=temp; } String s2 = String.valueOf(s1); System.out.println(s2); } } |
Решение
Так как объекты класса String являются неизменяемыми, то преобразуем строку в массив символов с помощью метода toCharArray. Далее создаем переменную для временного хранения значений символов, чтобы можно было поменять местами соседние символы строки. Используя цикл, проходим по каждому второму символу строки и меняем его с предыдущим. Измененный массив преобразовываем в строку и выводим.