文章

74

粉丝

0

获赞

98

访问

8.9k

头像
二叉树遍历 题解(注意idx传参需要采用&地址引用用,不可直接传值):
P1161 清华大学/南京大学机试题
发布于2025年8月12日 17:21
阅读数 160

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

typedef struct node{
	char data;
	struct node *lchild, *rchild;
}*BitTree;

void CreateBitTree(BitTree &T, string &s, int &idx){
	if(idx >= s.length()){T = NULL; return;}
	char c = s[idx++];
	
	if(c != '#'){
		T = new node;
		T->data = c;
		CreateBitTree(T->lchild, s, idx);
		CreateBitTree(T->rchild, s, idx);
	} else T = NULL;
}

void InOrder(BitTree T){
	if(T != NULL){
		InOrder(T->lchild);
		cout << T->data << ' ';
		InOrder(T->rchild);
	}
}

int main(){
	
	string s;
	while(cin >> s){
		BitTree T;
		int idx = 0;
		CreateBitTree(T, s, idx);
		InOrder(T); cout << endl;
	}
	
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发