欢迎来到Cefler的博客😁
🕌博客主页:那个传说中的man的主页
🏠个人专栏:题目解析
🌎推荐文章:题目大解析(3)
目录
- 👉🏻汉诺塔
👉🏻汉诺塔
原题链接:汉诺塔问题
mycode:
class Solution {
public:void difs(vector<int>& x, vector<int>& y, vector<int>& z,int n){if(n==1){z.push_back(x.back());x.pop_back();//记得将原柱子的盘子删除}else{difs(x,z,y,n-1);//x借助z柱将n-1个盘子挪动到y柱上z.push_back(x.back());//此时将底部盘子挪动到z柱子上x.pop_back();difs(y,x,z,n-1);//再将y柱上n-1个盘子借助x柱挪动到z上}}void hanota(vector<int>& a, vector<int>& b, vector<int>& c) {int n = a.size();difs(a,b,c,n);}
};