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

题目描述

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

解题思路

根据二叉搜索树的定理及树中值都不同可知新值val与节点root值比对有三种情况:

  • 如果val < root.val,则继续比较root的左孩子。
  • 如果val > root.val,则继续比较root的右孩子。
  • 如果root为null,则增加新节点,值为val。

Code;

class Solution {
    public TreeNode insertIntoBST(TreeNode root, int val) {
        if (root == null) {
            return new TreeNode(val);
        }
        if (val < root.val) {
            root.left = insertIntoBST(root.left, val);
        } else {
            root.right = insertIntoBST(root.right, val);
        }
        return root;
    }
}

results matching ""

    No results matching ""