搜索二叉树转链表 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; }
点赞 评论

相关推荐

就在我现在公司的隔壁每天经过都唏嘘不已(就是羡慕)什么时候可以到这里上班啊
柯基在debug:从大学毕业投简历到现在了,应届的时候我都面到终面了,现在工作四年了连简历初筛都过不了了
投递莉莉丝游戏等公司8个岗位 >
点赞 评论 收藏
分享
点赞 评论 收藏
分享
qq乃乃好喝到咩噗茶:院校后面加上211标签,放大加粗,招呼语也写上211
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务