分治回溯-----分治的應用之漢諾塔問題

在這裏插入圖片描述
在這裏插入圖片描述

public class Hanoi {
    public static void main(String[] args) {
        String x="X";
        String y="Y";
        String z="Z";
        hanoi(3,x,y,z);
    }

    private static void hanoi(int level, String begin, String mid, String to) {
        if (level==1){
            System.out.println(begin+"->"+to);
        }else {
            //前level-1
            hanoi(level-1,begin,to,mid);
            //第level
            System.out.println(begin+"->"+to);
            //前level-1
            hanoi(level-1,mid,begin,to);
        }

    }
}

執行結果

X->Z
X->Y
Z->Y
X->Z
Y->X
Y->Z
X->Z
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章