对老师的解法加了些注释方便大家理解

来源:2-8 汉诺塔实现

逍遥哥哥

2020-05-03 12:54

def move(index, start, mid, end):

    # 设置递归出口,如果只有一层搬运完成后直接返回。

    if index == 1:

        print("{}-{}".format(start, end))

        return

    # 开始搬运。

    move(index - 1, start, end, mid)

    print("{}->{}".format(start, end))

    # 目标块搬运完成,恢复剩余块到初始位置形成新的搬运问题。

    move(index - 1, mid, start, end)

if __name__ == '__main__':

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


写回答 关注

0回答

还没有人回答问题,可以看看其他问题

Python 算法面试难点攻坚课--动态规划

动态规划和递归作为算法中面试频率很高,是我们这门课程重点攻克对象。

3704 学习 · 11 问题

查看课程

相似问题