Сложность: easy
Напишите функцию, которая переворачивает строку. Входная строка представлена в виде массива символов s.
Вы должны сделать это, изменяя входной массив на месте с использованием O(1) дополнительной памяти.
Пример:
Input: s = ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]
👨💻 Алгоритм:
1⃣Инициализация указателей:
Установите два указателя: один на начало массива (left), другой на конец массива (right).
2⃣Перестановка символов:
Пока левый указатель меньше правого, обменяйте символы, на которые указывают левый и правый указатели.
Сдвиньте левый указатель вправо, а правый указатель влево.
3⃣Завершение работы:
Повторяйте шаг 2 до тех пор, пока левый указатель не станет больше или равен правому.
😎 Решение:
class Solution {
func reverseString(_ s: inout [Character]) {
var left = 0
var right = s.count - 1
while left < right {
s.swapAt(left, right)
left += 1
right -= 1
}
}
}Ставь 👍 и забирай 📚 Базу знаний