蛋疼的递归

几个经典的递归场景:

1. 斐波那契

2. 二叉树的周游(深度:前中后序)

3. 全排列问题(非简单的全排列 -- 允许字母重复)

4. 寻找满足条件的N个数

第一个的变种: 跳台阶

题目:一个台阶总共有n 级,如果一次可以跳1 级,也可以跳 2 级。
求总共有多少总跳法,并分析算法的时间复杂度。

第二个要复习下非递归的写法

第3个:

题目:输入一个字符串,打印出该字符串中字符的所有排列。
例如输入字符串abc,则输出由字符 a、b、c 所能排列出来的所有字符串
abc、acb、bac、bca、cab 和cba。

变种:

已知字符串里的字符是互不相同的,现在任意组合,比如ab,

则输出aa,ab,ba,bb,编程按照字典序输出所有的组合。

第4个:

输入两个整数 n 和 m,从数列 1,2,3.......n 中 随意取几个数,
使其和等于 m ,要求将其中所有的可能组合列出来。

原文地址:https://www.cnblogs.com/handt/p/2711858.html