• 701. 二叉搜索树中的插入操作


    701. 二叉搜索树中的插入操作

    题目:

    给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。

    注意,可能存在多种有效的插入方式,只要树在插入后仍保持为二叉搜索树即可。 你可以返回 任意有效的结果 。



    示例 1:



    输入:root = [4,2,7,1,3], val = 5
    输出:[4,2,7,1,3,5]
    解释:另一个满足题目要求可以通过的树是:



    示例 2:

    输入:root = [40,20,60,10,30,50,70], val = 25
    输出:[40,20,60,10,30,50,70,null,null,25]
    示例 3:

    输入:root = [4,2,7,1,3,null,null,null,null,null,null], val = 5
    输出:[4,2,7,1,3,5]


    提示:

    树中的节点数将在 [0, 104]的范围内。
    -108 <= Node.val <= 108
    所有值 Node.val 是 独一无二 的。
    -108 <= val <= 108
    保证 val 在原始BST中不存在。

    题解:

     1 /**
     2  * Definition for a binary tree node.
     3  * struct TreeNode {
     4  *     int val;
     5  *     TreeNode *left;
     6  *     TreeNode *right;
     7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     8  * };
     9  */
    10 class Solution {
    11 public:
    12     TreeNode* insertIntoBST(TreeNode* root, int val) 
    13     {
    14         if(!root)
    15         {
    16             TreeNode *newnode = new TreeNode(val);
    17             return newnode;
    18         }
    19         if(root->val < val)
    20             root->right = insertIntoBST(root->right, val);
    21         else if(root->val > val)
    22             root->left = insertIntoBST(root->left, val);
    23         return root;   
    24     }
    25 };
  • 相关阅读:
    sysbench 安装遇到的问题
    Mysql对用户操作加审计功能——高级版
    Mysql对用户操作加审计功能——初级版
    最近身体越来越差了
    ORCHARD学习教程-安装
    ORCHARD学习教程-介绍
    SharePoint配置网站集的审核设置
    Sharepoint 文档知识管理系统--Word在试图打开文件时遇到错误
    Python&Django学习系列之-激活管理界面
    Flutter
  • 原文地址:https://www.cnblogs.com/sunbines/p/15531043.html
Copyright © 2020-2023  润新知