今日内容:
理论基础
递归遍历
迭代遍历
统一迭代
详细布置
理论基础
需要了解 二叉树的种类,存储方式,遍历方式 以及二叉树的定义
文章讲解:代码随想录
递归遍历 (必须掌握)
二叉树的三种递归遍历掌握其规律后,其实很简单
前序遍历
class Solution {
public:
void traversal(TreeNode* cur, vector
if (cur == NULL) return;
vec.push_back(cur->val); // 中
traversal(cur->left, vec); // 左
traversal(cur->right, vec); // 右
}
vector
vector
traversal(root, result);
return result;
}
};
中序遍历
class Solution {
public:
void traversal(TreeNode* cur, vector
if (cur == NULL) return;
traversal(cur->left, vec); // 左
vec.push_back(cur->val); // 中
traversal(cur->right, vec); // 右
}
vector
vector
traversal(root, result);
return result;
}
};
后序遍历
class Solution {
public:
void traversal(TreeNode* cur, vector
if (cur == NULL) return;
traversal(cur->left, vec); // 左
traversal(cur->right, vec); // 右
vec.push_back(cur->val); // 中
}
vector
vector
traversal(root, result);
return result;
}
};
迭代遍历 (基础不好的录友,迭代法可以放过)
看了视频,跟着视频手写了一遍
统一迭代 (基础不好的录友,迭代法可以放过)
跟着文字讲解过了一遍
精彩文章
发表评论