有三个柱子,原始装满大小不一的盘子的柱子称为A,还有两根空的柱子,分别为B和C。一次只能移动一个盘子,小的盘子只能能在大的盘子上面。最终将A柱子上的盘子全部移到C柱子中

分成3步:

1,把n-1号盘子移动到中转柱子

2,把大盘子从起点移到目标柱子

3,把中转柱子的n-1号也移到目标柱子

代码实现:

public class Solution{
     public static void main(String[] args){
           towerOfHanoi(3,'A','B','C');
     }

     public static void towerOfHanoi(int n,char start,char transfer,char target){
          if(n==1){
                System.out.println(start+"----->"+target);
          }else{
                towerOfHanoi(n-1,start,target,transfer);
                System.out.println(start+"----->"+target);
                towerOfHanoi(n-1,transfer,start,target);
          }
     }
}

 

 posted on 2019-04-01 21:58  会飞的金鱼  阅读(109)  评论(0)    收藏  举报