递归的题目呢,有时候就能一眼看出来,难的又搞不出来,全靠玄学,其实不然,只要按着步骤走就可以实现
第一步、根据题目先在纸上 画出 递归的状态树
根据状态树 明确三个点
/**
* 根绝状态树 明确三个点
* 1、确定递归的参数 和 返回值
* 根据当层节点 确定参数, 根据 当层节点 和 上一层之间的关系 确定返回值
* 2、确定递归的中止条件
* 看状态树遍历到最底层是什么 就是中止条件
* 3、确定单层的逻辑
* 确定每一层递归需要处理的信息。这里信息的处理需要重复调用自己来实现
*/
实现模板
/**
* 递归的模板
*/
public class Recursion<T> {
//递归首先需要先画出状态树
/**
* 根绝状态树 明确三个点
* 1、确定递归的参数 和 返回值
* 根据当层节点 确定参数, 根据 当层节点 和 上一层之间的关系 确定返回值
* 2、确定递归的中止条件
* 看状态树遍历到最底层是什么 就是中止条件
* 3、确定单层的逻辑
* 确定每一层递归需要处理的信息。这里信息的处理需要重复调用自己来实现
*/
/**
*
* @param t 递归处理的参数
* @return 递归返回的结果
*/
public T recursion (T t) {
//递归中止条件
//单层逻辑 处理当前层的信息
//向上层 返回值
return null;
}
}