對老師的解法加了些注釋方便大家理解
def move(index, start, mid, end):
? ? # 設(shè)置遞歸出口,如果只有一層搬運(yùn)完成后直接返回。
? ? if index == 1:
? ? ? ? print("{}-{}".format(start, end))
? ? ? ? return
? ? # 開始搬運(yùn)。
? ? move(index - 1, start, end, mid)
? ? print("{}->{}".format(start, end))
? ? # 目標(biāo)塊搬運(yùn)完成,恢復(fù)剩余塊到初始位置形成新的搬運(yùn)問題。
? ? move(index - 1, mid, start, end)
if __name__ == '__main__':
? ? move(3, "A", "B", "C")