代码就不贴了,参考了下面的,也没啥差别 想了半天算是把这里面的递归逻辑想通了,然后就开始纠结递归里面变量的传递…… 总结如下:
输入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
太棒了。
Sign in to make a reply
随风摆动的桦树
代码就不贴了,参考了下面的,也没啥差别 想了半天算是把这里面的递归逻辑想通了,然后就开始纠结递归里面变量的传递…… 总结如下:
输入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