@@ -0,0 +1,804 @@
+/**%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 */%0Aclass Solution %7B%0A    public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) %7B%0A        if (root == null) %7B%0A            return root;%0A        %7D%0A        %0A        if (root == p %7C%7C root == q) %7B%0A            return root;%0A        %7D%0A        %0A        TreeNode left = lowestCommonAncestor(root.left, p, q);%0A        TreeNode right = lowestCommonAncestor(root.right, p, q);%0A        %0A        if (left != null && right != null) %7B%0A            return root;%0A        %7D else if (left != null) %7B%0A            return left;%0A        %7D else if (right != null) %7B%0A            return right;%0A        %7D%0A        %0A        return null;%0A    %7D%0A%7D

add no.236