算法笔记-回溯

何为回溯

回溯的处理思想,有点类似枚举搜索。枚举所有的解,找到满足期望的解。为了有规律地枚举所有可能的解,避免遗漏和重复,把问题求解的过程分为多个阶段。每个阶段都会面对一个岔路口,先随意选一条路走,当发现这条路走不通的时候(不符合期望的解),就回退到上一个岔路口,另选一种走法继续走

如何回溯

回溯算法非常适合用递归代码实现

void backtrack(参1,参2...){
      if(退出条件)return;
      for(int i=0;i<上限;i++){
            backtrack(参1,参2...);
      }
}

题目

leetcode

leetcode 17. Letter Combinations of a Phone Number

原文地址:https://www.cnblogs.com/houzm/p/13567934.html