Привет всем, я надеюсь, что ваш день был продуктивным, и вам удалось сделать что-то, над чем вы действительно усердно работали. Не могу поверить, что сегодня мой 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--; } };
Если вы, ребята, нашли этот вопрос полезным или у вас есть какие-либо комментарии, дайте мне знать! Нажмите кнопку аплодисментов, если это чтение принесло вам какую-то пользу, спасибо!