全ACGO唯一链表做法
2026-09-29 20:10:19
发布于:山东
5阅读
0回复
0点赞
#include <iostream>
using namespace std;
struct TreeNode {
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};
void preOrder(TreeNode *root) {
if(root == nullptr) return;
cout << root->val << " ";
preOrder(root->left);
preOrder(root->right);
}
void inOrder(TreeNode *root) {
if(root == nullptr) return;
inOrder(root->left);
cout << root->val << " ";
inOrder(root->right);
}
void postOrder(TreeNode *root) {
if(root == nullptr) return;
postOrder(root->left);
postOrder(root->right);
cout << root->val << " ";
}
int main() {
int n;
cin >> n;
TreeNode* tree[105] = {nullptr};
for(int i = 1; i <= n; i++) {
tree[i] = new TreeNode(i);
}
for(int i = 1; i <= n; i++) {
int u,l,r;
cin >> u >> l >> r;
if(l != 0) tree[u]->left = tree[l];
if(r != 0) tree[u]->right = tree[r];
}
TreeNode *root = tree[1];
preOrder(root);
cout << endl;
inOrder(root);
cout << endl;
postOrder(root);
cout << endl;
return 0;
}
这里空空如也








有帮助,赞一个