In place words reversing
by Alex Myronov
JavaScript
const reverseChars = (arr, indexStart, indexEnd) => {
let start = indexStart
let end = indexEnd
while (start++ < end--) {
const temp = arr[start]
arr[start] = arr[end]
arr[end] = temp
}
return arr
}
const reverse = (str) => {
const arr = message.split('')
const reversed = reverseChars(arr, -1, arr.length)
let i = 0
let j = 0
while (j <= arr.length) {
if (arr[j] === ' ' || j === arr.length) {
reverseChars(reversed, i - 1, j)
j++
i = j
} else {
j++
}
}
return reversed.join('')
}
const message = 'hey there you'
console.log(reverse(message))