@@ -0,0 +1,620 @@
+/**%0A * Definition for a binary tree node.%0A * public class TreeNode %7B%0A *     int val;%0A *     TreeNode left;%0A *     TreeNode right;%0A *     TreeNode(int x) %7B val = x; %7D%0A * %7D%0A */%0Apublic class Solution %7B%0A    public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) %7B%0A        if(root == null) return null;%0A        if(root == p %7C%7C root == q) return root;%0A        %0A        TreeNode left = lowestCommonAncestor(root.left, p, q);%0A        TreeNode right = lowestCommonAncestor(root.right, p, q);%0A        %0A        if(left != null && right != null) return root;%0A        return left == null ? right : left;%0A    %7D%0A%7D%0A

Create Lowest_Common_Ancestor_of_a_Binary_Tree.java