Skip to content

Commit fcdc332

Browse files
Implement three solutions for solving reverse string problem, write tests
1 parent d422d1b commit fcdc332

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed

01_reverse_string/index.js

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
// --- Directions
2+
// Given a string, return a new string with the reversed
3+
// order of characters
4+
// --- Examples
5+
// reverse('apple') === 'leppa'
6+
// reverse('hello') === 'olleh'
7+
// reverse('Greetings!') === '!sgniteerG'
8+
9+
10+
// Solution 1
11+
// function reverse(str) {
12+
// return str.split('').reverse().join('');
13+
// }
14+
15+
16+
// // Solution 2
17+
// function reverse(str) {
18+
// let reversed = "";
19+
// for(let character of str) {
20+
// reversed = character + reversed;
21+
// }
22+
// return reversed;
23+
// }
24+
25+
// Solution 3
26+
function reverse(str) {
27+
return str.split("").reduce((rev, char) => char + rev, "")
28+
}
29+
30+
31+
module.exports = reverse;

01_reverse_string/test.js

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
const reverse = require('./index');
2+
3+
test('Reverse function exists', () => {
4+
expect(reverse).toBeDefined();
5+
});
6+
7+
test('Reverse reverses a string', () => {
8+
expect(reverse('abcd')).toEqual('dcba');
9+
});
10+
11+
test('Reverse reverses a string', () => {
12+
expect(reverse(' abcd')).toEqual('dcba ');
13+
});

0 commit comments

Comments
 (0)