关注
最后没调出来,闲下来时候调了一下,感觉重视基础很重要,字符串的输入转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;
}
查看原帖
点赞 评论
相关推荐

点赞 评论 收藏
分享
04-17 12:35
哈尔滨理工大学 C++ 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 写给毕业5年后的自己 #
5752次浏览 112人参与
# 机械制造秋招总结 #
50833次浏览 493人参与
# 华泰证券Fintech星战营 #
171039次浏览 202人参与
# 职场捅娄子大赛 #
326845次浏览 3309人参与
# 机械人春招想让哪家公司来捞你? #
337462次浏览 3059人参与
# 一人一个landing小技巧 #
62542次浏览 982人参与
# 你的论文盲审过了没? #
102794次浏览 1467人参与
# 硬件应届生薪资是否普遍偏低? #
69825次浏览 505人参与
# 你的秋招第一场笔试是哪家 #
127534次浏览 1386人参与
# 毕业后不工作的日子里我在做什么 #
172819次浏览 1523人参与
# 如果再来一次,你还会学硬件吗 #
122874次浏览 1400人参与
# 考公VS就业,你怎么选? #
58372次浏览 390人参与
# 国央企笔面经互助 #
130154次浏览 1082人参与
# 毕业季等于分手季吗 #
19798次浏览 253人参与
# 好好告别我的学生时代 #
52346次浏览 944人参与
# 海信求职进展汇总 #
65618次浏览 363人参与
# 美的求职进展汇总 #
275026次浏览 1955人参与
# 大学最后一个寒假,我想…… #
38870次浏览 501人参与
# 晒一下我的毕业照 #
36639次浏览 415人参与
# HR问:你期望的薪资是多少?如何回答 #
40838次浏览 527人参与
# 记录实习开销 #
33965次浏览 215人参与