关注
最后没调出来,闲下来时候调了一下,感觉重视基础很重要,字符串的输入转int类型,如何初始化二叉树,然后中序遍历即可,哎,一道没A,记录一下吧 #include<iostream>
#include<vector>
#include<string>
#include<sstream>
#include<queue>
#include<cstring>
using namespace std;
struct TreeNode
{
int val;
TreeNode* l;
TreeNode* r;
TreeNode(int x): val(x),l(NULL),r(NULL){
}
};
TreeNode* insert(vector<int> vec,int size){
TreeNode** nodes = new TreeNode*[size];
for(int i=0;i<size;i++){
if(vec[i]==0){
nodes[i]=NULL;
}else{
nodes[i]=new TreeNode(vec[i]);
}
}
queue<TreeNode*> nodeQ;
nodeQ.push(nodes[0]);
TreeNode*node;
int index = 1;
while(index<size){
node = nodeQ.front();
nodeQ.pop();
nodeQ.push(nodes[index++]);
node->l= nodeQ.back();
nodeQ.push(nodes[index++]);
node->r= nodeQ.back();
}
return nodes[0];
}
void print_inorder(TreeNode* node,vector<int> &s){
if(!(node)) return ;
print_inorder(node->l,s);
s.push_back(node->val);
print_inorder(node->r,s);
return;
}
int main(){
string str;
TreeNode* node = nullptr;
vector<int>vec2;
// while(getline(cin,str)){
cin>>str;
stringstream ss(str);
vector<int>vec;
string token;
int str2;
cin>>str2;
while(getline(ss,token,',')){
vec.push_back(stoi(token));
}
node = insert(vec,vec.size());
print_inorder(node,vec2);
for(int i=0;i<vec2.size()-1;i++){
if(vec2[i]==str2){
cout<<vec2[i+1];
}
}
return 0;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
331649次浏览 3135人参与
# 上班苦还是上学苦呢? #
73582次浏览 656人参与
# 阿里云管培生offer #
37334次浏览 424人参与
# 地方国企笔面经互助 #
4574次浏览 12人参与
# 如果有时光机,你最想去到哪个年纪? #
22064次浏览 415人参与
# 选完offer后,你后悔学本专业吗 #
22072次浏览 159人参与
# 百度开奖 #
185979次浏览 1166人参与
# 我的实习求职记录 #
6072893次浏览 83555人参与
# 如何一边实习一边秋招 #
997311次浏览 12669人参与
# 找工作时遇到的神仙HR #
553792次浏览 3803人参与
# 入职第一天,你准备什么时候下班 #
21680次浏览 144人参与
# 招聘要求与实际实习内容不符怎么办 #
10826次浏览 277人参与
# bilibili求职进展汇总 #
33356次浏览 357人参与
# 许愿池 #
214943次浏览 2535人参与
# 学历or实习经历,哪个更重要 #
54120次浏览 424人参与
# 你今年的平均薪资是多少? #
71098次浏览 345人参与
# 实习工作,你找得还顺利吗? #
248055次浏览 2913人参与
# 通信硬件薪资爆料 #
609771次浏览 5198人参与
# 海康威视求职进展汇总 #
400966次浏览 3408人参与
# 携程求职进展汇总 #
135944次浏览 932人参与
# 正在实习的你,几点下班 #
53455次浏览 396人参与
# 工作两年想退休了 #
53155次浏览 673人参与