回溯模板:
1、终止条件、处理节点和撤销处理都需根据实际情况判断
2、定义全局变量存放结果、路径
3、for循环的宽度是遍历集和区间的宽度(横向)、递归纵向遍历(深度,终止条件与其相关)
4、写for循环和对节点的处理的时候,只考虑横向(例如131题的字符串切割,切1、2、3),横向考虑完了,再考虑递归的条件。
递归:
看自己递归终止时,能返回什么(比如查询到底了,是直接return 还是到叶子节点时能够返回一个list之类的 还是要分析题目需求),再确定递归函数的返回类型
回溯模板:
1、终止条件、处理节点和撤销处理都需根据实际情况判断
2、定义全局变量存放结果、路径
3、for循环的宽度是遍历集和区间的宽度(横向)、递归纵向遍历(深度,终止条件与其相关)
4、写for循环和对节点的处理的时候,只考虑横向(例如131题的字符串切割,切1、2、3),横向考虑完了,再考虑递归的条件。
递归:
看自己递归终止时,能返回什么(比如查询到底了,是直接return 还是到叶子节点时能够返回一个list之类的 还是要分析题目需求),再确定递归函数的返回类型