理解漢諾塔遞歸

漢諾塔永遠只有三步:blog

不要想多層怎麼解決,解決1層,2層,n層的天然就解決了。im

def move(n, a, b, c):
    if n == 1:
        print(a, '-->', c)
        return
    move(n - 1, a, c, b)
    print(a, '-->', c)
    move(n - 1, b, a, c)


move(3, 'A', 'B', 'C')

若是隻有一層:直接a--cd3

多層思路:a--b現將源放到中轉 a--c源放到目標位置 b--c再從中轉放到目標db

相關文章
相關標籤/搜索