[算法练习] 汉诺塔

    @Test
    public void hanoTest() {
        hano('A', 'B', 'C', 1);
        System.out.println("count: " + count);
    }

    public void hano(char A, char B, char C, int n) {
        if (n > 0) {
           //步骤1 按ACB数序执行N-1的汉诺塔移动
            hano(A, C, B, n - 1); 
            
            //步骤2   执行最大盘子移动
            System.out.println("move " + n + " :  " + A + " -> " + C);  
            
            //步骤3 按BAC数序执行N-1的汉诺塔移动
            hano(B, A, C, n - 1); 

            count++;
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容