关注
搜索二叉树转链表
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-12 10:20
黑龙江科技大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 从顶到拉给所有面过的公司评分 #
26638次浏览 218人参与
# 晒晒你的中秋福利 #
16156次浏览 122人参与
# 为了求职,我做过的疯狂伪装 #
14423次浏览 298人参与
# bilibili求职进展汇总 #
93083次浏览 832人参与
# 职场破冰,你们都聊什么? #
8521次浏览 81人参与
# 工作压力大怎么缓解 #
105895次浏览 1053人参与
# 你面试被问到过哪些不会的问题? #
25193次浏览 873人参与
# 机械笔面试考察这些知识点 #
11089次浏览 96人参与
# 聊聊这家公司值得去吗 #
562952次浏览 3727人参与
# 秋招的嫡长offer #
35913次浏览 319人参与
# 电网笔面经互助 #
47388次浏览 431人参与
# 秋招报数:你投了多少家公司? #
31867次浏览 325人参与
# 你的公司给实习生发中秋礼物吗 #
2810次浏览 32人参与
# 百度秋招提前批进度 #
152374次浏览 1778人参与
# 上班摸鱼,你都在干些什么? #
7740次浏览 126人参与
# 宣讲会你有哪些意向不到的收获 #
2180次浏览 24人参与
# 大家实习每天都在干啥 #
89737次浏览 518人参与
# 机械人春招想让哪家公司来捞你? #
358106次浏览 3113人参与
# 广联达求职进展汇总 #
11669次浏览 50人参与
# 实习要如何选择和准备? #
114833次浏览 1437人参与