社区讨论

逆天

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 条回复,欢迎继续交流。

正在加载回复...