input: from typing import List
  
  def solveTowerOfHanoi(num_disks: int, start_rod: str = 'A', end_rod: str = 'C', aux_rod: str = 'B') -> List[str]:
      """ Solve the "Tower of Hanoi" game for a given number of disks.
      The function will print out the sequence of moves required to move all disks from the start rod to the end rod.
      >>> solveTowerOfHanoi(2)
      ['Move disk 1 from rod A to rod B', 'Move disk 2 from rod A to rod C', 'Move disk 1 from rod B to rod C']
      """
      moves = []
      def hanoi(num_disks, start_rod, end_rod, aux_rod):
          if num_disks == 1:
              moves.append(f"Move disk 1 from rod {start_rod} to rod {end_rod}")
              return
          hanoi(num_disks - 1, start_rod, aux_rod, end_rod)
          moves.append(f"Move disk {num_disks} from rod {start_rod} to rod {end_rod}")
          hanoi(num_disks - 1, aux_rod, end_rod, start_rod)
      hanoi(num_disks, start_rod, end_rod, aux_rod)
      return moves
  
  # Driver code 
  num_disks = 4
  print(solveTowerOfHanoi(num_disks))
output:     moves = []
      def hanoi(num_disks, start_rod, end_rod, aux_rod):
          if num_disks == 1:
              moves.append(f"Move disk 1 from rod {start_rod} to rod {end_rod}")
              return
          hanoi(num_disks - 1, start_rod, aux_rod, end_rod)
          moves.append(f"Move disk {num_disks} from rod {start_rod} to rod {end_rod}")
          hanoi(num_disks - 1, aux_rod, end_rod, start_rod)
      hanoi(num_disks, start_rod, end_rod, aux_rod)
      return moves