社区讨论
逆天
B3642二叉树的遍历参与者 5已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @mhjs304m
- 此快照首次捕获于
- 2025/11/04 07:35 4 个月前
- 此快照最后确认于
- 2025/11/04 07:35 4 个月前
思路 and 邏輯全是對的,代碼就是只輸出三個 1
(奉上我的抽象代碼)
CPP#include<iostream>
using namespace std;
struct TreeNode {
int left, right;
TreeNode(int left, int right) {left = left, right = right;}
TreeNode() {}
} tree[100005];
int n;
void preorder(int root) {
if (root == 0) return;
cout << root << ' ';
preorder(tree[root].left);
preorder(tree[root].right);
}
void inorder(int root) {
if (root == 0) return;
inorder(tree[root].left);
cout << root << ' ';
inorder(tree[root].right);
}
void postorder(int root) {
if (root == 0) return;
postorder(tree[root].left);
postorder(tree[root].right);
cout << root << ' ';
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
cin >> n;
for (int i = 1; i <= n; i++) {
int l, r; cin >> l >> r;
tree[i] = TreeNode(l, r);
}
preorder(1); cout << endl;
inorder(1); cout << endl;
postorder(1); cout << endl;
return 0;
}
回复
共 7 条回复,欢迎继续交流。
正在加载回复...