对二叉搜索树进行中序遍历就是一个顺序增长的数组
给两个数算他的祖先节点,例如: p, q 两个节点分别为~~~
那么:(root.val - p.val )* (root.val - q.val )<= 0 代表 这两个节点再root节点两边
就例如LeetCode#235 二叉搜索数的最近公共祖先
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
if((root.val - q.val) * (root.val - p.val) <= 0){
return root;
}
return lowestCommonAncestor(p.val < root.val ? root.left : root.right, p, q);
}
}