需要了解?二叉树的种类,存储方式,遍历方式?以及二叉树的定义?
文章讲解:代码随想录
二叉树的三种递归遍历掌握其规律后,其实很简单?
题目链接/文章讲解/视频讲解:代码随想录
题目链接/文章讲解/视频讲解:代码随想录
这是统一迭代法的写法,?如果学有余力,可以掌握一下
题目链接/文章讲解:代码随想录
二叉树节点的构造
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) :val(x),left(NULL),right(NULL){}
};
递归遍历
void traversal(TreeNode* cur, vector<int>& vec) {
if (cur == NULL) return;
vec.push_back(cur->val);
traversal(cur->left, vec);
traversal(cur->right, vec);
}
接受二叉树遍历结果val
vector<int> preorderTraversal(TreeNode* root) {
vector<int> result;
traversal(root, result);
return result;
}
前/中/后序遍历同理
迭代遍历