template

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

注意要点

  1. 不要人肉递归(最大误区)
  2. 找到最近最简单方法,将其拆解成可重复解决的问题(重复子问题)
  3. 数学归纳法思维