O(h) JAVA solution with recursion


  • 0
    S
        public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
            if(root == null)
                return null;
            else if((root.val >= p.val && root.val <=q.val) || (root.val >= q.val && root.val <= p.val))
                return root;
            else if(root.val < p.val && root.val < q.val)
                return lowestCommonAncestor( root.right,  p,  q);
            else 
                return lowestCommonAncestor( root.left,  p,  q);
        }
    }

Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.