Привет всем, я надеюсь, что ваш день был продуктивным, и вам удалось сделать что-то, над чем вы действительно усердно работали. Не могу поверить, что сегодня мой 31-й день программирования подряд! В это трудно поверить, но это пролетает незаметно, и я многому учусь, пытаясь объяснить свои мысли кому-то другому. Теперь о сегодняшней проблеме с алгоритмом.

Мне нужно разработать функцию, которая принимает массив символов и может изменять входную строку и в основном размещать все записи в обратном порядке. Вот пример:

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

Таким образом, есть несколько довольно разных способов решения этой проблемы, но один из основных заключается в использовании подхода с двумя указателями, что я уже делал в предыдущих задачах. Я начинаю с одного указателя в начале массива и одного в конце. Я перебираю массив один за другим, переключая индекс каждой записи на противоположный указатель, тем самым меняя порядок записей. Вот что я имею в виду в коде:

var reverseString = function(s) {
    let i = 0, j = s.length - 1;
  while (i < j) {
    [s[i], s[j]] = [s[j], s[i]];
    i++;
    j--;
  }
};

Если вы, ребята, нашли этот вопрос полезным или у вас есть какие-либо комментарии, дайте мне знать! Нажмите кнопку аплодисментов, если это чтение принесло вам какую-то пользу, спасибо!