85. 在二叉查找树中插入节点

给定一棵二叉查找树和一个新的树节点,将节点插入到树中。

你需要保证该树仍然是一棵二叉查找树。

注意事项

You can assume there is no duplicate values in this tree + node.

您在真实的面试中是否遇到过这个题?

Yes

样例

给出如下一棵二叉查找树,在插入节点6之后这棵二叉查找树可以是这样的:

  2             2
 / \           / \
1   4   -->   1   4
   /             / \ 
  3             3   6

常规操作

这个就是相当于一个二分查找的过程,前天才刚写过,实际上也比较简单,一个技巧就是要找一个指针把父节点记住,到时候就插入到这个父节点的左或者右:详细的看这里

TreeNode * insertNode(TreeNode * root, TreeNode * node) {
        if(root==NULL)
        {
            root=node;
            return root;
        }
        TreeNode *tmp=root;
        TreeNode *p;
        while(tmp)
        {
            p=tmp;
            
            if(node->val>tmp->val)
            tmp=tmp->right;
            else if(node->val<tmp->val)
            tmp=tmp->left;
        }
        
        if(node->val>p->val)
            p->right=node;
        if(node->val<p->val)
            p->left =node;

        return root;        
        // write your code here
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 85. 在二叉查找树中插入节点 描述 笔记 数据 评测 给定一棵二叉查找树和一个新的树节点,将节点插入到树中。 你...
    李清依阅读 385评论 0 0
  • 树的概述 树是一种非常常用的数据结构,树与前面介绍的线性表,栈,队列等线性结构不同,树是一种非线性结构 1.树的定...
    Jack921阅读 4,873评论 1 31
  • 目录 0.树0.1 一般树的定义0.2 二叉树的定义 1.查找树ADT 2.查找树的实现2.1 二叉查找树2.2 ...
    王侦阅读 7,606评论 0 3
  • 看到朋友圈大学室友发的新生孩子的照片,被医院那几个字感动得无以复加。——“**之子”,我的眼泪几乎就要流下...
    Bunny_青蛙阅读 104评论 0 0
  • 侄女刚开始奋斗,才打开电脑。 用心的小女孩,一直等着12点,想要第一个给我生日祝福。耳朵旁的奶奶,看我没理她,叹了...
    汝窑阅读 368评论 0 0

友情链接更多精彩内容