原题链接: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;
}
};