public void recur(int param, int level) {
// terminator (终结条件)
if(level > MAX_LEVEL) {
// process result
return;
}
//process current logic (处理当前逻辑)
process(level, param);
// drill down (进行下一层循环)
recur(level + 1, newParam);
// restore current status (清除这一层状态)
}