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

原题链接:701. 二叉搜索树中的插入操作

思路:
因为是二叉搜索树,我们可以利用这个特性来确定val到底是在那一边的子树,而不是全部遍历二叉搜索树
直接使用递归,如果查询到root为NULL,则直接创建新结点即可

全代码:

class Solution {
public:
    TreeNode* insertIntoBST(TreeNode* root, int val) {
        if(root == NULL)
        {//如果是空结点,则直接创建一个新结点,并返回该结点
            TreeNode* Node = new TreeNode(val);
            
            return Node;
        }
        if(root ->val >val) root ->left = insertIntoBST(root ->left, val);
        if(root ->val <val) root ->right = insertIntoBST(root ->right, val);
        //根据题意返回二叉搜索树的根节点
        return root;

    }
};

你可能感兴趣的:(数据结构,二叉树)