A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 八宝 中级黑马   /  2015-12-10 18:21  /  1039 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public class hanoi {
  2.         static long i=0;

  3.         public static void main(String[] args) {
  4.                 moveHanoi(5,"A","B","C");
  5.                 System.out.println(i);
  6.         }
  7.         public static void moveHanoi(int num,String sta,String pro,String end)
  8.         {
  9.                 if(num==1) //递归的出口。
  10.                 {
  11.                         i++; //计算次数
  12.                         System.out.println(sta+">>"+end);
  13.                 }
  14.                 if(num>1) //递归的入口
  15.                 {
  16.                         moveHanoi(num-1,sta,end,pro);
  17.                         moveHanoi(1,sta,null,end);
  18.                         moveHanoi(num-1,pro,sta,end);
  19.                 }
  20.         }

  21. }
复制代码

3 个回复

倒序浏览
不看答案-。-我自己就编不出来,我觉得。。
回复 使用道具 举报
Myth、骞 发表于 2015-12-10 18:57
不看答案-。-我自己就编不出来,我觉得。。

递归不知道什么时候用,就是有时候知道要用递归了不知道怎么往递归的上面找思路,这点比较不好理解,前天看到有个人发的递归解决螺旋矩阵的就比较佩服。我自己绝对想不起来的。螺旋矩阵到现在还是一头雾水
回复 使用道具 举报
我觉得递归最好把能变化的参数都设计到参数列表里去,这样比较好想具体的思路
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马