递归的核心步骤

1、递归终止条件
2、找到最近重复最近子问题
3、递归调用

  1. public void recursion(int level, int param) {
  2. // 1、terminator
  3. if (level > MAX_LEVEL) {
  4. // process result
  5. return;
  6. }
  7. // 2、process current logic
  8. process(level, param);
  9. // 3、drill down
  10. recursion( level: level + 1, newParam);
  11. //reverse the current level status if needed
  12. }

数学归纳法