Tower of Hanoi is a mathematical puzzle where we have three rods (AB, and C) and N disks. Initially, all the disks are stacked in decreasing value of diameter i.e., the smallest disk is placed on the top and they are on rod A. The objective of the puzzle is to move the entire stack to another rod (here considered C), obeying the following simple rules:

Examples:

Input: 2

Output: Disk 1 moved from A to B

Disk 2 moved from A to C

Disk 1 moved from B to C

Input: 3

Output: Disk 1 moved from A to C

Disk 2 moved from A to B

Disk 1 moved from C to B

Disk 3 moved from A to C

Disk 1 moved from B to A

Disk 2 moved from B to C

Disk 1 moved from A to C

Input: 4

Output:

Disk 1 moved from A to B

Disk 2 moved from A to C

Disk 1 moved from B to C

Disk 3 moved from A to B

Disk 1 moved from C to A

Disk 2 moved from C to B

Disk 1 moved from A to B

Disk 4 moved from A to C

Disk 1 moved from B to C

Disk 2 moved from B to A

Disk 1 moved from C to A

Disk 3 moved from B to C

Disk 1 moved from A to B

Disk 2 moved from A to C

Disk 1 moved from B to C

toh.mp4

The following video shows the solution of Tower of Hanoi for input (N) = 3

Tower of Hanoi using Recursion

The idea is to use the helper node to reach the destination using recursion. Below is the pattern for this problem:Shift 'N-1' disks from 'A' to 'B', using C.Shift last disk from 'A' to 'C'.Shift 'N-1' disks from 'B' to 'C', using A.

faq.disk3