剑指 Offer 68 - II. 二叉树的最近公共祖先

https://leetcode-cn.com/problems/er-cha-shu-de-zui-jin-gong-gong-zu-xian-lcof/

剑指 Offer 68 - II. 二叉树的最近公共祖先_第1张图片
剑指 Offer 68 - II. 二叉树的最近公共祖先_第2张图片

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
   class Solution {
    public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
	      if(root == null || root == p || root == q) return root;
	       TreeNode left = lowestCommonAncestor(root.left, p, q);
	       TreeNode right = lowestCommonAncestor(root.right, p, q);
	       if(left == null && right == null) return null; // 1.
	       if(left == null) return right; // 3.
	       if(right == null) return left; // 4.
	       return root; // 2. if(left != null and right != null)
	   }
	}

}

你可能感兴趣的:(leetcode)