二叉搜索树的插入
Posted lancelee98
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉搜索树的插入相关的知识,希望对你有一定的参考价值。
1 class Solution { 2 public: 3 TreeNode* insertIntoBST(TreeNode* root, int val) { 4 if(!root) return root; 5 TreeNode* p=root,*pre=NULL; 6 while(p) 7 { 8 pre=p; 9 if(p->val>val) 10 p=p->left; 11 else if(p->val<val) 12 p=p->right; 13 else return root;//当前节点的值等于val 不需要在插入 14 } 15 //找到要插入的节点的前一个节点pre l_tag=1代表应该插入到pre节点的左边 l_tag等于0代表插入到pre结点的右边 16 TreeNode *node=new TreeNode(val); 17 if(pre->val>val) pre->left=node; 18 else pre->right=node; 19 return root; 20 } 21 };
以上是关于二叉搜索树的插入的主要内容,如果未能解决你的问题,请参考以下文章