HHR的小站
享受代码带来的快乐吧
首页
LeetCode 701. 二叉搜索树中的插入操作
2020-02-05 |HHR | 代码使人快乐, LeetCode

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

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

例如, 

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

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

          4   
        /   \    
       2     7     
      / \   /     
     1   3 5 

或者这个树也是有效的:

            5   
          /   \  
         2     7  
        / \    
       1   3     
            \   
             4
 

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

https://leetcode-cn.com/problems/insert-into-a-binary-search-tree/

respond-post-136

添加新评论

请填写称呼
请填写合法的电子邮箱地址
请填写合法的网站地址
请填写内容