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