Давайте рассмотрим 14-дневный учебный план LeetCode по взлому алгоритма.

Проблема

Напишите функцию, которая переворачивает строку. Входная строка задается как массив символов s.

Вы должны сделать это, изменив входной массив на месте с O(1) дополнительной памятью.

Пример 1:

Input: s = ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]

Пример 2:

Input: s = ["H","a","n","n","a","h"]
Output: ["h","a","n","n","a","H"]

Ограничения:

Решение

Эта проблема решается с помощью двух указателей, которые перемещаются, меняя местами символы от начала до конца.

  1. создайте указатель left.
  2. создайте указатель right.
  3. перебирать все символы в s с помощью цикла while.
  4. создайте переменную temp, чтобы отслеживать смещаемый символ.
  5. поменяйте местами лево с право.
  6. символ справа становится temp.
  7. двигаться влево вперед.
  8. двигаться прямо назад.

Код

Удачного кодирования!