1. Reverse order iteration
const reverseString = (str) => {
let reversedStr = '';
for (let i = str.length - 1; i >= 0; i--) {
reversedStr += str[i];
}
return reversedStr;
};
2. Hal-index recursion
const reverseString = (str) => {
if (str.length < 2) {
return str;
}
const halfIndex = Math.ceil(str.length / 2);
return reverseString(str.substr(halfIndex)) + reverseString(str.substr(0, halfIndex));
};