汉诺塔用回溯算法解决

星湫 2022-06-08 14:39:55

 class Solution {
    public void hanota(List<Integer> A, List<Integer> B, List<Integer> C) {
        move(A, B, C, A.size());
    }

    public void move(List<Integer> a, List<Integer> b, List<Integer> c, int n) {
        if(n == 1) {
            c.add(a.get(a.size() - 1));
            a.remove(a.size() - 1);
            return;
        }

        move(a, c, b, n - 1);
        c.add(a.get(a.size() - 1));
        a.remove(a.size() - 1);
        move(b, a, c, n -1);
    }
}

...全文
569 回复 打赏 收藏 举报
写回复
回复
切换为时间正序
请发表友善的回复…
发表回复
相关推荐
发帖
江信Python研究社区

188

社区成员

一个专注于研究python语言的社区
软件工程 高校
社区管理员
  • 勤奋龙
  • 没有一分是自己的
  • Rye758
加入社区
帖子事件
创建了帖子
2022-06-08 14:39
社区公告
暂无公告