三步走解决递归问题
递归三步走
严格按照这三步, 轻松解决递归问题
1. 给函数下定义很多时候困扰我们的
?
在写递归函数前, 我们先要给要写的这个递归函数下一个定义.
一旦下完了这个定义, 我们就认为函数具有了这个功能(尽管这个函数我们并未书写)
然后在书写代码的时候就帮这个被我们下过定义的函数当成具有这个功能的函数来写
注意: 不要过分的关注函数本身, 下完定义, 函数就具有这个功能, 不需要纠结如何实现
就以二叉树的前序遍历为例子, 我们给这个函数下一个定义, 就是前序遍历这棵二叉树
class TreeNode
{
public:
TreeNode* left;
TreeNode* right;
int val;
}
// 来给函数下一个定义
void bfs(TreeNode* root