給定二叉搜索樹(BST)的根節點和一個值。 你需要在BST中找到節點值等於給定值的節點。 返回以該節點爲根的子樹。 如果節點不存在,則返回 NULL。
例如,
給定二叉搜索樹:
4
/ \
2 7
/ \
1 3
和值: 2
你應該返回如下子樹:
2
/ \
1 3
在上述示例中,如果要找的值是 5,但因爲沒有節點值爲 5,我們應該返回 NULL。
就是搜索樹的查找。
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public TreeNode searchBST(TreeNode root, int val) {
//return root==null?null:(root.val==val?root:(root.val>val?searchBST(root.left,val):searchBST(root.right,val)));
if(root==null){
return null;
}
if(root.val>val){
return searchBST(root.left,val);
}else if(root.val<val){
return searchBST(root.right,val);
}else{
return root;
}
}
}