https://leetcode-cn.com/problems/search-in-a-binary-search-tree/
就是一个简单的左中右遍历。
// 二叉搜索树最大特点就是有序,左中右有序,即中序遍历是右序的,节点的数值从左到右有序
// 此外,它还有性质:
// 1. 左节点比根节点小
// 2. 右节点比根节点大
// 所以,利用这个性质,就在遍历的时候少走弯路,即(逻辑)
// 1. root.val < val 时, 往右遍历
// 2. root.val > val, 往左遍历
// else 相等, 返回root
// 传入参数:(节点, 目标val)
// 返回:节点
// 终止条件:
// if(root == null) return root;
class Solution {
public TreeNode searchBST(TreeNode root, int val) {
//System.out.println("root = " + root.val);
if(root == null) return root;
if(root.val < val) return searchBST(root.right, val);
if(root.val > val) return searchBST(root.left, val);
return root;
}
}