【算法框架】二叉搜索树BST
提取自labuladong得算法小抄
查找数是否存在
void BST(TreeNode root,int target){
if (root.val == target){
...
...
}
if (root.val < target)
BST(root.right,target);
if (root.val > target)
BST(root.left,target);
插入一个数
TreeNode insertIntoBST(TreeNode root ,int val){
if(root == null)
return new TreeNode(val);
if(root.val == val)
return root
if (root.val<val)
root.right = insertIntoBST(root.right,val);
if(root.val>val);
root.left = insertIntoBST(root.left,val);
return root;
}
删除一个数
TreeNode deleteNode(TreeNode root ,int key){
if (root.val=key){
}elsr if(root.val>key){
root.left = deletNode(root.left,key);
}else if(root.val<key){
root.right= deletNode(root.right,key);
}
return root;
}
|