* 해결과정
제목에 이진탐색 트리라고 써있습니다. 이를 적극적으로 활용합니다! (하지만 저는 또 그냥 지나쳤습니다.. ㅜㅜ) 또한 최소 공통 조상에 대한 문제이기도 합니다. 하지만 걱정하지 않아도 되는 것은 이진탐색 트리이기 때문에, 또한 p,q가 동시에 주어졌기 때문에 간단하게 해결 할 수 있습니다. 각 해당 노드의 값의 대소비교를 통해 해결합니다.
class Solution {
public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
int parentVal = root.val;
int pVal = p.val;
int qVal = q.val;
if(pVal>parentVal && qVal>parentVal)
return lowestCommonAncestor(root.right,p,q);
else if(pVal<parentVal && qVal<parentVal)
return lowestCommonAncestor(root.left,p,q);
else
return root;
}
}
반응형
'Algorithm' 카테고리의 다른 글
543 : Diameter of Binary Tree ( leetcode / java ) (0) | 2020.10.30 |
---|---|
563 : Binary Tree Tilt ( leetcode / java ) (0) | 2020.10.30 |
993 : Cousins in Binary Tree ( leetcode / java ) (0) | 2020.10.30 |
1662 : 압축 ( 백준 / java ) (0) | 2020.10.29 |
16926 배열돌리기1, 16927 배열돌리기2 ( 백준 / java ) (0) | 2020.10.29 |