题目描述:
Given the root node of a binary search tree (BST) and a value to be inserted into the tree, insert the value into the BST. Return the root node of the BST after the insertion. It is guaranteed that the new value does not exist in the original BST.
Note that there may exist multiple valid ways for the insertion, as long as the tree remains a BST after insertion. You can return any of them.
For example,
Given the tree:
4
/ \
2 7
/ \
1 3
And the value to insert: 5
You can return this binary search tree:
4
/ \
2 7
/ \ /
1 3 5
This tree is also valid:
5
/ \
2 7
/ \
1 3
\
4
class Solution {
public:
TreeNode* insertIntoBST(TreeNode* root, int val) {
TreeNode* new_node=new TreeNode(val);
if(root==NULL) return new_node;
else if(root->val<val) root->right=insertIntoBST(root->right, val);
else root->left=insertIntoBST(root->left, val);
return root;
}
};
本文介绍了一种在二叉搜索树中插入新值的方法,确保树的特性不变。通过递归算法,找到合适的位置插入节点,保持树的平衡状态。
405

被折叠的 条评论
为什么被折叠?



