Discuss / Python / 想要捋清楚这个逻辑好困难啊……

想要捋清楚这个逻辑好困难啊……

Topic source

代码就不贴了,参考了下面的,也没啥差别 想了半天算是把这里面的递归逻辑想通了,然后就开始纠结递归里面变量的传递…… 总结如下:

输入move(3,A,B,C) 实际函数内部为: move(2,A,C,B) A-->C move(2,B,A,C) 进行递归,在下一层为:


move(1,A,B,C) #输出A-->C A-->B #虽然函数内部是a-->c,但此处函数输入为mo ve(2,A,C,B),所以输出A-->B move(1,C,A,B) #输出C-->B



A-->C



move(1,B,C,A) #输出B-->A B-->C #同上 move(1,A,B,C) #输出A-->C


太棒了。


  • 1

Reply