public static void solveTowers(int disks, int sourcePeg, int destinationPeg, int tempPeg)
{
//always set the base case in any type of recursion programs
if(disks == 1)
{
System.out.printf("\n%d --> %d", sourcePeg, destinationPeg);
return;
}
//call the method itself
solveTowers(disks - 1, sourcePeg, tempPeg, destinationPeg);
System.out.printf("\n%d --> %d", sourcePeg, destinationPeg);
solveTowers(disks - 1, tempPeg, destinationPeg, sourcePeg);
}
私の質問は、最初の System.out ステートメントの下の「リターン」とは何ですか?
デバッグ時、最初のsolveTowers
メソッドがディスク == 1 である基本ケースに到達した後、if ステートメントに入り、次に に到達した後return;
、2 番目のSystem.out
ステートメントに進み、次にsecond solveTowers
メソッドがreturn;
続きます。 2番目ではfirst solveTowers
なく?