17. 电话号码的字母组合
思路:难的不是这道题,而是这类问题,递归和回溯,回溯是一种思路,递归是实现上述思路的一种手段,做了N题却依然没有举一反三的能力
回溯可以解决 排列,组合,子集,分割,棋盘等大类问题,当遇到需要N重循环问题且N的规模不确定是,可以用下面这个套路
def backtrack(n):
for .....:
backtrack(n+1)
细节:递归语句和其它功能语句的位置关系,这是做新题比较难想到的,递归语句前面的顺序执行,后面的逆序执行
思路:难的不是这道题,而是这类问题,递归和回溯,回溯是一种思路,递归是实现上述思路的一种手段,做了N题却依然没有举一反三的能力
回溯可以解决 排列,组合,子集,分割,棋盘等大类问题,当遇到需要N重循环问题且N的规模不确定是,可以用下面这个套路
def backtrack(n):
for .....:
backtrack(n+1)
细节:递归语句和其它功能语句的位置关系,这是做新题比较难想到的,递归语句前面的顺序执行,后面的逆序执行