深度优先遍历 包括三种: 前中后 序 三种 遍历;
这三种遍历都可以通过 递归的方法解决;
递归的条件:
-
确定递归函数输出类型, 递归函数的输入参数;
-
递归函数中的 终止条件;
-
每一递归中, 所需要执行的操作;
此时大家可以做一做leetcode上三道题目,分别是:
144.二叉树的前序遍历
94.二叉树的中序遍历
145.二叉树的后序遍历
1. 前序遍历的递归方式
递归函数的编写;
先序遍历函数:
- 新建vector 容器,用于存放遍历的结果;
- 调用递归函数;
- 返回 遍历结果;
#include "vector"
using namespace std;
struct TreeNode{
int val;
TreeNode* left;
TreeNode* right;
// 默认构造函数, 列表形式赋值;
TreeNode(int x): val(x), left(nullptr), right(nullptr){
}
};
class Solution1

本文详细介绍了如何使用递归方法实现二叉树的前序、中序和后序遍历。针对LeetCode上的144、94和145题,分别给出了对应的递归解决方案。每个递归过程包含确定函数输出类型、输入参数、终止条件和执行操作。通过这些步骤,读者可以理解并掌握二叉树遍历的基本思路。
最低0.47元/天 解锁文章
1441

被折叠的 条评论
为什么被折叠?



