mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-11 13:00:22 +08:00
二叉树的递归遍历:优化排版
This commit is contained in:
@ -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); // 右
|
||||
|
Reference in New Issue
Block a user