文章

85

粉丝

0

获赞

346

访问

6.7k

头像
二叉树遍历 题解:
P1161 清华大学/南京大学机试题
发布于2026年3月5日 20:46
阅读数 92

#include <bits/stdc++.h>
using namespace std;
#define ll long long

typedef struct Node {
    char data;
    struct Node *left,*right;
}*Btree;

string s;
int counta;
//先序遍历创建
void CreatBinaryTree(Btree &B) {
    char c;
    cin>>c;
    if (c=='#') B=NULL;
    else {
        B = new Node;
        B->data=c;
        CreatBinaryTree(B->left);
        CreatBinaryTree(B->right);
    }
}

//先序输出
void PreOrder(Btree B) {
    if (B==NULL) return;
    cout<<B->data<<' ';
    PreOrder(B->left);
    PreOrder(B->right);
}

//中序输出
void InOrder(Btree B) {
    if (B==NULL) return;
    InOrder(B->left);
    cout<<B->data<<' ';
    InOrder(B->right);
}

//后序输出
void PostOrder(Btree B) {
    if (B==NULL) return;
    PostOrder(B->left);
    PostOrder(B->right);
    cout<<B->data<<' ';
}

//叶子节点

int CountLeap(Btree B) {
    if (B==NULL) return 0;
    if (B->l...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发