关注
搜索二叉树转链表
struct Node{
int val;
Node* left;
Node* right;
Node(int a):val(a),left(NULL),right(NULL){}
};
void pre(Node* node,Node*& p) {
if (!node) return;
pre(node->left, p);
node->left = p;
if (p) p->right = node;
p = node;
pre(node->right, p);
}
Node* Convert(Node* pRootOfTree) //原地转链表
{
if (!pRootOfTree)
return pRootOfTree;
Node* t = nullptr;
pre(pRootOfTree, t);
while (pRootOfTree->left)
pRootOfTree = pRootOfTree->left;
return pRootOfTree;
}
void insert(Node* root,int t) { //插入二叉搜索树
if (root->val == t)
return;
if (t < root->val&&root->left==NULL) {
root->left = new Node(t);
return;
}
if (t>root->val&&root->right == NULL) {
root->right = new Node(t);
return;
}
if (t < root->val) {
insert(root->left,t);
return;
}
if (t > root->val) {
insert(root->right, t);
return;
}
return;
}
int main() {
int t;
cin >> t;
Node* root = new Node(t);
while (cin>>t) {
insert(root,t);
char c=getchar();
if (c=='\n') {
break;
}
}
root=Convert(root);
while (root) {
cout << root->val;
root = root->right;
}
system("pause");
return 0;
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
09-19 13:59
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你实习是赚钱了还是亏钱了? #
4674次浏览 45人参与
# 找工作八股要背到什么程度? #
3454次浏览 65人参与
# 京东开奖 #
427953次浏览 2438人参与
# 秋招开始捡漏了吗 #
29722次浏览 205人参与
# 我在牛爱网找对象 #
202557次浏览 1412人参与
# 用一句话形容你的团队氛围 #
2882次浏览 44人参与
# 你找工作是从容有余 or 匆忙滚爬? #
2690次浏览 41人参与
# 入职以后才知道的校招谎言 #
101483次浏览 646人参与
# 上班后,才发现大学__白学了 #
5191次浏览 34人参与
# 今年秋招还有金九银十吗 #
23786次浏览 218人参与
# 同bg的你秋招战况如何? #
160783次浏览 934人参与
# 今年秋招是回暖还是遇冷 #
2604次浏览 26人参与
# 五一之后,实习真的很难找吗? #
90006次浏览 561人参与
# 学历对求职的影响 #
552017次浏览 3921人参与
# 规定下班时间vs实际下班时间 #
56747次浏览 332人参与
# 辞职后的日常 #
16455次浏览 84人参与
# 打工人的精神状态 #
103126次浏览 1318人参与
# 你喜欢工作还是上学 #
79113次浏览 865人参与
# Offer比较,求稳定还是求发展 #
65100次浏览 272人参与
# 分享一个让你热爱工作的瞬间 #
44213次浏览 395人参与
# 一人一个landing小技巧 #
128570次浏览 1467人参与


