Skip to content

Commit

Permalink
Add reverse string recurse algo
Browse files Browse the repository at this point in the history
Signed-off-by: Darko Draskovic <[email protected]>
  • Loading branch information
darkodraskovic committed May 13, 2022
1 parent 4fcff31 commit 6feeacc
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
6 changes: 5 additions & 1 deletion spec/recursion.spec.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import {
factorialRecursive, factorialIterative,
fibonacciIterative, fibonacciRecursive,
fibonacciRecursiveSimple, fibonacciIterativeSimple
fibonacciRecursiveSimple, fibonacciIterativeSimple,
reverseStringRecursive
} from '../src/algorithms/recursion.js'

describe("Recursion function which", function () {
Expand Down Expand Up @@ -46,5 +47,8 @@ describe("Recursion function which", function () {
fibonacciSequence[i]);
}
});
it("reverses string recursively", function () {
expect(reverseStringRecursive("recurse to a high mountain")).toEqual("niatnuom hgih a ot esrucer");
});
});

12 changes: 11 additions & 1 deletion src/algorithms/recursion.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,14 +70,24 @@ export function fibonacciIterativeSimple(n) {
return arr[n];
}

export function reverseStringRecursive(str) {
if (str == "") {
return str;
}
return str.slice(-1) + reverseStringRecursive(str.slice(0, -1));
}


export function test() {
// let result = factorialRecursive(5);
// let result = factorialIterative(5);

// let result = fibonacciIterative(8);
// let result = fibonacciRecursive(2);
// let result = fibonacciRecursiveSimple(8);
let result = fibonacciIterativeSimple(8);
// let result = fibonacciIterativeSimple(8);

let result = reverseStringRecursive("darko draskovic");

return;
}

0 comments on commit 6feeacc

Please sign in to comment.