public class Solution {

public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {

```
if(root==null)
return root;
//if both are on oppsite sides of the root, return root
if((p.val < root.val) && (q.val< root.val))
return lowestCommonAncestor(root.left, p, q);
if(p.val > root.val && q.val> root.val)
return lowestCommonAncestor(root.right, p, q);
return root; //case when both are in oppsoite trees
}
```

}