爱程序网

235. Lowest Common Ancestor of a Binary Search Tree

来源: 阅读:

代码如下:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
public class Solution {
    public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
 
        if(root==null||p==null||q==null)
        return root;
        
       TreeNode t=root;
    
       if(Math.max(p.val,q.val)<root.val&&root.left!=null)
       return lowestCommonAncestor(root.left,p,q);
       else if(Math.min(p.val,q.val)>root.val&&root.right!=null)
       return lowestCommonAncestor(root.right,p,q);
       else if(Math.min(p.val,q.val)<=root.val&&Math.max(p.val,q.val)>=root.val)
       return root;
       
       return root;
    }
    
}

 

关于爱程序网 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助