给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。
例如,
思路:重点是BST,也就是说是有序的,左小右大,现在要找到那个值,就是不断的递归找,对于每个节点分四个情况,为空返回null,小了往左边找,大了往右边找,相等直接返回。
只是这里有一个是特意说的就是因为只有一次返回,所以每个return都应该是对等的关系,也就是说每一次的判断都是return的返回
public TreeNode searchBST(TreeNode root, int val) {
if (root==null){
return null;
}
if (val<root.val)
return searchBST(root.left,val);
if (val>root.val)
return searchBST(root.right,val);
return root;
}
注意一下这里面的return