数据结构
struct TreeNode{
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x){
val(x), left(NULL), right(NULL)
};
}
前序遍历
中序遍历
后序遍历
层次遍历
void levelOrder(TreeNode *root){
if(root){
queue<TreeNode *> q;
TreeNode *p = NULL;//一定要初始化为NULL,否则要出错
q.push(root);
while(q){
p = q.front();
cout<<p->val<<" ";
q.pop();
if(p->left) q.push(p->left);
if(p->right) q.push(p->right);
}
}
}
这篇博客深入探讨了二叉树的数据结构,详细介绍了前序、中序、后序遍历以及层次遍历四种不同的遍历方法。同时,还讲解了如何计算二叉树的深度和统计其节点数量,并探讨了判断两个二叉树是否相等以及是否对称的问题。
36万+

被折叠的 条评论
为什么被折叠?



