大家好,我是方圆 无它,唯手熟尔
题号
98. 验证二叉搜索树450. 删除二叉搜索树中的节点701. 二叉搜索树中的插入操作
98. 验证二叉搜索树
class Solution {
long pre
= Long
.MIN_VALUE
;
public boolean isValidBST(TreeNode root
) {
if(root
== null
){
return true;
}
if(!isValidBST(root
.left
)){
return false;
}
if(root
.val
<= pre
){
return false;
}
pre
= root
.val
;
return isValidBST(root
.right
);
}
}
450. 删除二叉搜索树中的节点
class Solution {
public TreeNode
deleteNode(TreeNode root
, int key
) {
if(root
== null
){
return null
;
}
if(root
.val
> key
){
root
.left
= deleteNode(root
.left
,key
);
}else if(root
.val
< key
){
root
.right
= deleteNode(root
.right
,key
);
}else{
if(root
.left
== null
){
return root
.right
;
}else if(root
.right
== null
){
return root
.left
;
}else{
TreeNode temp
= root
.right
;
while(temp
.left
!= null
){
temp
= temp
.left
;
}
temp
.left
= root
.left
;
return root
.right
;
}
}
return root
;
}
}
701. 二叉搜索树中的插入操作
class Solution {
public TreeNode
insertIntoBST(TreeNode root
, int val
) {
if(root
== null
){
return new TreeNode(val
);
}
if(root
.val
< val
){
root
.right
= insertIntoBST(root
.right
,val
);
}else{
root
.left
= insertIntoBST(root
.left
,val
);
}
return root
;
}
}
简简单单也要多练呐!
转载请注明原文地址:https://ipadbbs.8miu.com/read-52418.html