💡 이진 트리의 노드에서 특정한 값인 p와 q가 주어졌을 때, 그 두 노드의 가장 가까운 공통 조상을 찾으시오.
root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1
int
형 변수에 담을 수 있다.class Solution {
public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
if (root == null) {
return null;
}
TreeNode left = lowestCommonAncestor(root.left, p, q);
TreeNode right = lowestCommonAncestor(root.right, p, q);
if (root.val == p.val || root.val == q.val) {
return root;
}
if (left != null && right != null) {
return root;
}
if (left != null) {
return left;
}
return right;
}
}
문제 분석을 잘 하시는 것 같아요