700.二叉搜索树中的搜索
可以做,这个倒不难。
class Solution {
TreeNode p=null;
public void f(TreeNode root,int val){
if(root==null)
return ;
if(root.val==val)
p=root;
if(root.val>val)
f(root.left,val);
if(root.val
f(root.right,val);
}
public TreeNode searchBST(TreeNode root, int val) {
f(root,val);
return p;
}
}
701.二叉搜索树中的插入操作
可以做,这题我直接用的循环遍历,先循环找到需要插入子结点的那个结点,再插入即可。
class Solution {
public TreeNode insertIntoBST(TreeNode root, int val) {
TreeNode p=root;
if(root==null)
return new TreeNode(val);
while(p!=null){
if(p.valp=p.right;
if(p.val>val&&p.left!=null)
p=p.left;
if(p.val>val&&p.left==null)
break;
if(p.valbreak;
}
TreeNode p2=new TreeNode(val);
if(p.val>val)
p.left=p2;
if(p.valp.right=p2;
return root;}
}