给出如下一棵二叉查找树,在插入节点6之后这棵二叉查找树可以是这样的:
2 2
/ \ / \
1 4 --> 1 4
/ / \
3 3 6
解题思路:首先理解二叉查找树的定义,插入的过程中只需三点:1,是否二叉树为空,如果为空插入节点为根节点,2若插入元素小于根节点,元素插入左子树,3若大于插入右子树。
TreeNode* insertNode(TreeNode* root, TreeNode* node) {
// write your code here
if (root==NULL)
{
root=node;
return root;
}
if (node->val<root->val)
{
if(root->left==NULL) root->left=node;
else
{
root->left=insertNode(root->left,node);
}
}
else {
if(root->right==NULL) root->right=node;
else{
root->right=insertNode(root->right,node);
}
}
return root;
}
};