1 题目

二叉搜索树中的插入操作

2 解

2.1 我的解

  • 时间复杂度: O(logn)
  • 空间复杂度: O(1)

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    
    /**
    * Definition for a binary tree node.
    * public class TreeNode {
    *     int val;
    *     TreeNode left;
    *     TreeNode right;
    *     TreeNode(int x) { val = x; }
    * }
    */
    class Solution {
    public TreeNode insertIntoBST(TreeNode root, int val) {
        if (root == null) {
            return new TreeNode(val);
        }
        if (root.val > val) {
            if (root.left == null) {
                TreeNode entry = new TreeNode(val);
                root.left = entry;
            } else {
                insertIntoBST(root.left, val);
            }
        } else if (root.val < val) {
            if (root.right == null) {
                TreeNode entry = new TreeNode(val);
                root.right = entry;
            } else {
                insertIntoBST(root.right, val);
            }
        }
        return root;
    }
    }