题解 | #汉诺塔问题#

汉诺塔问题

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

递归脑壳疼

class Solution {
public:
  
    void hanoi(std::vector<std::string> &description, int n, 
               std::string left, std::string mid, std::string right) {
      if (n == 1) {
        description.emplace_back("move from " + left + " to " + right);
        return ;
      }
      
      hanoi(description, n-1, left, right, mid);
      description.emplace_back("move from " + left + " to " + right);
      hanoi(description, n-1, mid, left, right);
      
    }
  
    vector<string> getSolution(int n) {
      std::vector<std::string> description;
      hanoi(description, n, "left", "mid", "right");
      return description;
    }
};
全部评论

相关推荐

等闲_:小红书基本不区分日常和暑期,你是应届实习时间够了就有转正机会,只要部门有hc
点赞 评论 收藏
分享
2025-12-17 17:53
门头沟学院 Web前端
海梨花:我之前面试也是问我非技术问题,问过我怎么统计北京出租车数量,不借助任何网络或者其他平台的帮助,有足够多的人可以帮忙
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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