题解 | 汉诺塔问题

汉诺塔问题

https://www.nowcoder.com/practice/7d6cab7d435048c4b05251bf44e9f185

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param n int整型 
     * @return string字符串ArrayList
     */
    public ArrayList<String> getSolution (int n) {
        ArrayList<String> steps = new ArrayList<>();
        // write code here
        Haroi(steps, n, "left", "right", "mid");

        return steps;
    }

    public void Haroi(ArrayList<String> steps, int n, String start, String des, String util) {
        if (n == 1) {
            steps.add("move from " + start + " to " + des);
            System.out.println("move from " + start + " to " + des);
            return;
        }
        Haroi(steps, n - 1, start, util, des);
        Haroi(steps, 1, start, des, util);
        Haroi(steps, n - 1, util, des, start);
    }
}

全部评论

相关推荐

05-23 19:33
重庆大学 Java
只学了传统后端,马上去后端实习了,在想要不要学习agent开发相关的。27秋招和26相比难度如何?
我连备胎都不是却还在...:就暑期实习而言,大厂官宣hc 比 26 多,但是我观察看应该低于 26 的,估计秋招也不简单
点赞 评论 收藏
分享
不知道怎么取名字_:青花的都挂啊,这是要啥人呢
点赞 评论 收藏
分享
05-15 14:58
已编辑
南昌航空大学科技学院 C++
mcart:上海150怎么活,睡公司吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务