今日内容:

理论基础

递归遍历

迭代遍历

统一迭代

详细布置

理论基础

需要了解 二叉树的种类,存储方式,遍历方式 以及二叉树的定义

文章讲解:代码随想录

递归遍历 (必须掌握)

二叉树的三种递归遍历掌握其规律后,其实很简单

前序遍历

class Solution {

public:

void traversal(TreeNode* cur, vector& vec) {

if (cur == NULL) return;

vec.push_back(cur->val); // 中

traversal(cur->left, vec); // 左

traversal(cur->right, vec); // 右

}

vector preorderTraversal(TreeNode* root) {

vector result;

traversal(root, result);

return result;

}

};

中序遍历

class Solution {

public:

void traversal(TreeNode* cur, vector& vec) {

if (cur == NULL) return;

traversal(cur->left, vec); // 左

vec.push_back(cur->val); // 中

traversal(cur->right, vec); // 右

}

vector preorderTraversal(TreeNode* root) {

vector result;

traversal(root, result);

return result;

}

};

后序遍历

class Solution {

public:

void traversal(TreeNode* cur, vector& vec) {

if (cur == NULL) return;

traversal(cur->left, vec); // 左

traversal(cur->right, vec); // 右

vec.push_back(cur->val); // 中

}

vector preorderTraversal(TreeNode* root) {

vector result;

traversal(root, result);

return result;

}

};

迭代遍历 (基础不好的录友,迭代法可以放过)

看了视频,跟着视频手写了一遍

统一迭代 (基础不好的录友,迭代法可以放过)

跟着文字讲解过了一遍

精彩文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: