Merge pull request #1109 from bqlin/master

优化排版与 Swift 实现
This commit is contained in:
程序员Carl
2022-03-13 10:44:05 +08:00
committed by GitHub
4 changed files with 258 additions and 247 deletions

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); // 右