关注
搜索二叉树转链表
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;
}
查看原帖
点赞 评论
相关推荐
06-26 14:30
门头沟学院 产品经理 
点赞 评论 收藏
分享
05-11 12:05
中国矿业大学 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习,不懂就问 #
2282次浏览 42人参与
# 小米提前批笔试难吗 #
34086次浏览 357人参与
# 现代汽车前瞻技术研发急速编程挑战赛 #
13012次浏览 134人参与
# 26届校招投递进展 #
31370次浏览 243人参与
# 央国企投递记录 #
88117次浏览 1361人参与
# 为了找工作你花了哪些钱? #
28007次浏览 265人参与
# 神州信息工作体验 #
11628次浏览 56人参与
# 校招第一份工作你干了多久? #
85841次浏览 392人参与
# 外包能不能当跳板? #
34480次浏览 221人参与
# 你觉得专业和学校哪个对薪资影响最大 #
61364次浏览 490人参与
# 设计人的面试记录 #
123471次浏览 1341人参与
# 小米硬件提前批进度交流 #
168145次浏览 1523人参与
# 来聊聊你目前的求职进展 #
634329次浏览 6747人参与
# 如何缓解入职前的焦虑 #
192455次浏览 1340人参与
# 硬件人秋招的第一个offer #
77947次浏览 1149人参与
# 硬件人你反向读研了吗 #
42526次浏览 637人参与
# 大疆的机械笔试比去年难吗 #
72919次浏览 618人参与
# 你今年的保底offer是哪家 #
118409次浏览 537人参与
# 打工人的精神状态 #
49740次浏览 863人参与
# 烟草笔面经互助 #
16925次浏览 180人参与
# 硬件人,你被哪些公司给挂了 #
58546次浏览 821人参与