NearestCommonAncestorofBinarySearchTree题目描述:给定一棵二叉搜索树,找到树中两个指定节点的最近公共祖先。百度百科对最近共同祖先的定义是:“对于有根树T的两个节点p和q,最近共同祖先表示为节点x,满足x是p和q的祖先,深度为x尽可能大(一个节点也可以是它自己的祖先)。”例子见LeetCode官网。来源:LeetCode链接:https://leetcode-cn.com/probl...版权归LeetCode所有。商业转载请联系官方授权,非商业转载请注明出处。方案一:递归法首先,如果p或q是根节点,则直接返回根节点。如果p和q都不是根节点,会在以下情况下处理:如果p和q的值都小于root的值,则递归调用lowerCommonAncestor方法,入参为root。左边。如果p和q的值都小于root的值,则递归调用方法lowestCommonAncestor,入参为root.right。如果p和q其中一个的值大于root,另一个小于root,那么p和q的最近共同祖先只能是root,所以直接返回root。publicclassLeetCode_235{/***递归方法**@paramroot*@paramp*@paramq*@return*/publicstaticTreeNodelowestCommonAncestor(TreeNoderoot,TreeNodep,TreeNodeq){//如果p或q是根节点,直接返回根节点if(p==root){returnp;}if(q==root){返回q;}if(p.val
