• LeetCode701.Insert into a Binary Search Tree


    题目 

    给定二叉搜索树(BST)的根节点和要插入树中的值,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 保证原始二叉搜索树中不存在新值。

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

    例如, 

    给定二叉搜索树:
    
            4
           / 
          2   7
         / 
        1   3
    
    和 插入的值: 5
    

    你可以返回这个二叉搜索树:

             4
           /   
          2     7
         /    /
        1   3 5
    

    或者这个树也是有效的:

             5
           /   
          2     7
         /    
        1   3
             
              4

    Tag


    代码

    1.递归 。ac

    class Solution {
    public:
        TreeNode* insertIntoBST(TreeNode* root, int val) {
            TreeNode* head=root;
            root =Helper(root,val);
            return head;
        }
        TreeNode* Helper(TreeNode* root, int val)
        {
            if(root==nullptr)
                root= new TreeNode(val);
            else if(root->val < val )
                root->right = Helper(root->right,val);
            else if(root->val > val)
                root->left =Helper(root->left,val);
    
            return root;
        }
    };

    2.迭代

    class Solution {
    public:
        TreeNode* insertIntoBST(TreeNode* root, int val) { 
            if(root==nullptr) root= new TreeNode(val);
            TreeNode* cur= root;
            while(true)
            {
                if(cur->val<val)
                    {
                        if(!cur->right) {cur->right=new TreeNode(val);break;}
                        else cur=cur->right;
                    }
                else if(cur->val > val)
                        if(!cur->left ) {cur->left= new TreeNode(val);break;}
                        else cur=cur->left;
            }
            return root;
        }    
    };

    问题

  • 相关阅读:
    数据存储过程学习
    Python实现目录文件扫描功能
    python关于邮件发送包smtplib的实践分享
    Java自学笔记之学生管理系统
    Java自学笔记
    Java自学笔记1206
    java自学笔记
    Django常用命令
    django+SQLite搭建轻量级个人博客(六)数据校验
    django+SQLite搭建轻量级个人博客(五)分页
  • 原文地址:https://www.cnblogs.com/lightmare/p/10463462.html
Copyright © 2020-2023  润新知