給定一棵二叉查找樹和一個新的樹節(jié)點,將節(jié)點插入到樹中徐绑。
你需要保證該樹仍然是一棵二叉查找樹缘眶。
image.png
class Solution {
public:
/**
* @param root: The root of the binary search tree.
* @param node: insert this node into the binary search tree
* @return: The root of the new binary search tree.
*/
/*這里的pre 相當(dāng)于是p 節(jié)點的父節(jié)點 */
void insert(TreeNode * p,TreeNode * pre,TreeNode * node){
if(p==NULL){
if(pre->val<node->val){
pre->right=node;
}
else{
pre->left=node;
}
}
else{
if(p->val<node->val){
//node 大于
insert(p->right,p,node);
}
else{
insert(p->left,p,node);
}
}
}
TreeNode* insertNode(TreeNode* root, TreeNode* node) {
// write your code here
if(root==NULL){
root=node;
return root;
}
if(root->val<node->val){
insert(root->right,root,node);
}
else{
insert(root->left,root,node);
}
return root;
}
};