二叉树的递归遍历:优化排版

This commit is contained in:
bqlin
2021-12-21 11:52:30 +08:00
committed by Bq
parent f0800ec607
commit 28cff716ac

View File

@ -34,19 +34,19 @@
1. **确定递归函数的参数和返回值**因为要打印出前序遍历节点的数值所以参数里需要传入vector在放节点的数值除了这一点就不需要在处理什么数据了也不需要有返回值所以递归函数返回类型就是void代码如下
```
```cpp
void traversal(TreeNode* cur, vector<int>& vec)
```
2. **确定终止条件**在递归的过程中如何算是递归结束了呢当然是当前遍历的节点是空了那么本层递归就要要结束了所以如果当前遍历的这个节点是空就直接return代码如下
```
```cpp
if (cur == NULL) return;
```
3. **确定单层递归的逻辑**:前序遍历是中左右的循序,所以在单层递归的逻辑,是要先取中节点的数值,代码如下:
```
```cpp
vec.push_back(cur->val); // 中
traversal(cur->left, vec); // 左
traversal(cur->right, vec); // 右