哪里错了?
#include<bits/stdc++.h>
#include<queue>
using namespace std;
struct TreeNode{
int val;
TreeNode *left;
TreeNode *right;
TreeNode(int x): val(x),left(nullptr),right(nullptr){}
};
TreeNode *buildTree(vector<int> &nums,int index){
if(index >= nums.size()||nums[index]<0){
return nullptr;
}
TreeNode *root= new TreeNode(nums[index]);
root->left=buildTree(nums,2*index+1);
root->right= buildTree(nums,2*index+2);
return root;
}
void coutTree(vector<int> res){
for(auto i : res)cout<<i<<" ";
cout<<endl;
}
void inorder_1(TreeNode *root,vector<int> &res_1){
if(!root)return ;
res_1.push_back(root->val);
inorder_1(root->left,res_1);
inorder_1(root->right,res_1);
}
void inorder_2(TreeNode *root,vector<int> &res_2){
if(!root)return ;
inorder_2(root->left,res_2);
res_2.push_back(root->val);
inorder_2(root->right,res_2);
}
void inorder_3(TreeNode *root,vector<int> &res_3){
if(!root)return ;
inorder_3(root->left,res_3);
inorder_3(root->right,res_3);
res_3.push_back(root->val);
}
void inorderTraversal(TreeNode *root){
vector<int> res_1;
vector<int> res_2;
vector<int> res_3;
inorder_1(root,res_1);
coutTree(res_1);
inorder_2(root,res_2);
coutTree(res_2);
inorder_3(root,res_3);
coutTree(res_3);
}
int main()
{
long long i,k,n;
cin>>n;
vector<int> nums;
for(i=0;i<n;i++){
cin>>k;
nums.push(k);
}
TreeNode *root = buildTree(nums,0);
inorderTraversal(root);
system("pause");
return 0;
}
为什么Dev-C++运行不了会报错