700-二叉搜索树中的搜索

描述

  给定二叉搜索树(BST)的根节点和一个值。你需要在BST中找到节点值等于给定值的节点。返回以该节点为根的子树。如果节点不存在,则返回 NULL。

例如

给定二叉搜索树:

1
2
3
4
5
    4  
/ \
2 7
/ \
1 3

和值: 2

你应该返回如下子树:

1
2
3
  2 
/ \
1 3

  在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。

解答:

1
2
3
4
5
6
7
8
9
10
11
class Solution {
public TreeNode searchBST(TreeNode root, int val) {
if (root == null)
return null;
if (root.val == val)
return root;
if (val > root.val)
return searchBST(root.right, val);
return searchBST(root.left, val);
}
}