mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-04 15:39:42 +08:00

* chore: Switch to Node 20 + Vitest * chore: migrate to vitest mock functions * chore: code style (switch to prettier) * test: re-enable long-running test Seems the switch to Node 20 and Vitest has vastly improved the code's and / or the test's runtime! see #1193 * chore: code style * chore: fix failing tests * Updated Documentation in README.md * Update contribution guidelines to state usage of Prettier * fix: set prettier printWidth back to 80 * chore: apply updated code style automatically * fix: set prettier line endings to lf again * chore: apply updated code style automatically --------- Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com> Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
19 lines
542 B
JavaScript
19 lines
542 B
JavaScript
// wiki - https://en.wikipedia.org/wiki/Tower_of_Hanoi
|
|
// Recursive Javascript function to solve tower of hanoi
|
|
|
|
export function TowerOfHanoi(n, from, to, aux, output = []) {
|
|
if (n === 1) {
|
|
output.push(`Move disk 1 from rod ${from} to rod ${to}`)
|
|
return output
|
|
}
|
|
TowerOfHanoi(n - 1, from, aux, to, output)
|
|
output.push(`Move disk ${n} from rod ${from} to rod ${to}`)
|
|
TowerOfHanoi(n - 1, aux, to, from, output)
|
|
return output
|
|
}
|
|
|
|
// Driver code (A, C, B are the name of rods)
|
|
|
|
// const n = 4
|
|
// TowerOfHanoi(n, 'A', 'C', 'B')
|