-
Notifications
You must be signed in to change notification settings - Fork 15
/
Copy pathReverseString.js
36 lines (33 loc) · 918 Bytes
/
ReverseString.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/**
* @author Anirudh Sharma
*
* Write a function that reverses a string. The input string is given as an array of characters char[].
*
* Do not allocate extra space for another array, you must do this by modifying the input
* array in-place with O(1) extra memory.
*
* You may assume all the characters consist of printable ascii characters.
*/
const reverse = (s) => {
// Left and right pointers
let left = 0;
let right = s.length - 1;
// Loop until the two pointers meet
while (left <= right) {
// Swap the left and right characters
let c = s[left];
s[left] = s[right];
s[right] = c;
// Update the pointers
left++;
right--;
}
return s.join("");
};
const main = () => {
let s = ["h", "e", "l", "l", "o"];
console.log(reverse(s));
s = ["H", "a", "n", "n", "a", "h"];
console.log(reverse(s));
};
main();