二叉搜索树的插入

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 };

 

以上是关于二叉搜索树的插入的主要内容,如果未能解决你的问题,请参考以下文章

二叉搜索树的遍历插入新节点val及判断是否存在val(代码及注释)

19. 二叉搜索树的插入删除修剪

二叉搜索树的插入与删除(C语言)

二叉搜索树的插入与删除(C语言)

❤️数据结构入门❤️(2 - 1)- 二叉搜索树

二叉搜索树的插入