Skip to content

Instantly share code, notes, and snippets.

const reverseString = (originalString) => {
return originalString.split('').reverse().join('');
}
const recursiveReverseString = (originalString) => {
let reversedString = '';
let formReverseString = (word) => {
if(word.length > 0) {
reversedString = formReverseString(word.substr(1)) + word.charAt(0);
return reversedString;
}
return '';
}
formReverseString(originalString);
const recursiveReverseString = (originalString) => {
return originalString ? recursiveReverseString(originalString.substr(1)) + originalString.charAt(0): '';
}
let r = recursiveReverseString('hello');
console.log(r);
const recursiveMultiplier = (arr, num) => {
let newArray = [];
let mult = function(a) {
if(a.length) {
newArray[a.length-1] = a.pop()*num;
mult(a);
return newArray;
}
return;
}
const recursiveMultiplier = (arr, num) {
if(!arr.length) {
return arr;
}
let lastElement = arr.pop();
recursiveMultiplier(arr, num);
arr.push(lastElement*num);
return arr;
const recursiveCountDown = (n) => {
if(n < 0){
return;
}
x = n - 1;
return recursiveCountDown(x);
}
recursiveCountDown(10);
const recursiveExponent = (base, exponent) => {
return exponent === 1? base: base*recursiveExponent(base, exponent-1);
}
const y = recursiveExponent(2,5);
console.log(y);
@lienista
lienista / reverse-unsigned-integer.js
Last active August 28, 2018 04:02
reverse an unsigned integer
const reverse = (x) => {
if(x === ''){
return '';
} else if(x%10 === 0) {
x = parseInt(x/10);
return reverse(x);
} else if(x < 0) {
x = -x;
return reverse(x)*(-1);
} else {
@lienista
lienista / 258-sum-digits.js
Last active August 28, 2018 19:32
(Algorithms in Javascript) Leetcode 258. Add Digits - Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.
const sumDigits = (x) => {
if(x === '') {
return 0;
} else if(x < 10) {
return x;
} else {
let newX = x + '';
newX = newX.split('');
let sumX = parseInt(newX.pop()) + sumDigits(parseInt(newX.join('')));
return sumX < 10 ? sumX : sumX%10 + Math.floor(sumX/10);
@lienista
lienista / 326-is-power-of-3.js
Last active October 31, 2022 06:19
(Algorithms in Javascript) Leetcode 326. Power of Three - Given an integer, write a function to determine if it is a power of three.
const isPowerOfThree = (num) => {
if(num === 1) {
return true;
} else if(num > 1 && num%3 === 0) {
return isPowerOfThree(num/3);
} else {
return false;
}
}