递归

1 递归的思想

把一个复杂的问题变成重复的问题。

例如根据二叉树的前序遍历和中序遍历重新构建原二叉树。

原始的前序遍历序列与中序遍历序列如下图所示。

 

 

将左子树与右子树又可以看做原始的前序遍历序列与中序遍历序列,如下图所示。、

继续拆分,直到不能分解为止,最终二叉树如下图所示。

2 写递归函数

主要考虑如下几个因素,以二叉树为例:

递归函数的返回值类型;

递归函数的形参;

根结点赋值;

左结点赋值;

右结点赋值;

判断条件。

参考

《剑指offer》

 

posted on 2020-05-29 11:26  辉哥54110  阅读(151)  评论(0编辑  收藏  举报