1,题目要求
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.
向一颗BST中插入一个新的节点。
2,题目思路
对于这道题,就是从第一节点开始,依次向树中依次寻找插入的节点。因为最后插入的位置都可以叶子节点,因此,只要分别进行比较即可。
3,程序源码
class Solution {
public:
TreeNode* insertIntoBST(TreeNode* root, int val) {
if(root == nullptr) return new TreeNode(val);
if(root->val > val) root->left = insertIntoBST(root->left, val);
else root->right = insertIntoBST(root->right, val);
return root;
}
};