@@ -0,0 +1,598 @@
+# Definition for a binary tree node.%0A# class TreeNode:%0A#     def __init__(self, x):%0A#         self.val = x%0A#         self.left = None%0A#         self.right = None%0A%0A%0Aclass Solution:%0A    # @param %7BTreeNode%7D root%0A    # @param %7BTreeNode%7D p%0A    # @param %7BTreeNode%7D q%0A    # @return %7BTreeNode%7D%0A%0A    def lowestCommonAncestor(self, root, p, q):%0A        if p.val %3E q.val:%0A            p, q = q, p%0A        if p.val %3C= root.val %3C= q.val:%0A            return root%0A        if p.val %3E root.val:%0A            return self.lowestCommonAncestor(root.right, p, q)%0A        return self.lowestCommonAncestor(root.left, p, q)%0A

add solution for Lowest Common Ancestor of a Binary Search Tree