给定二叉搜索树(BST)的根节点 root 和一个整数值 val。
你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null 。
题解
如果root.val>val,则搜索左子树,如果root.val<val,则搜索右子树,找不到该节点会越过叶节点,所以返回null
如果找到root.val==val,返回root
class Solution {
public TreeNode searchBST(TreeNode root, int val) {
//边界条件:找不到该节点会越过叶节点,需要返回null
if(root==null) return null;
if(root.val==val) return root;
if(root.val<val) return searchBST(root.right,val);
else return searchBST(root.left,val);
}
}