Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Django
- WSGI
- github
- asyncio
- 쿠버네티스
- EC2
- POD
- IAM
- IAC
- K8S
- leetcode
- Kubernetes
- elasticsearch
- dockerfile
- EKS
- 자바스크립트
- ebs
- FastAPI
- AWS
- terraform
- Deployment
- asgi
- YAML
- Python
- event loop
- ansible
- Service
- docker
- intervals
- DevOps
Archives
- Today
- Total
궁금한게 많은 개발자 노트
[ leetcode ] 235. Lowest Common Ancestor of a Binary Search Tree 본문
Algorithm
[ leetcode ] 235. Lowest Common Ancestor of a Binary Search Tree
궁금한게 많은 개발자 2023. 5. 2. 10:46Binary Search Tree가 주어졌을 때, 서로 다른 두 노드의 가장 낮은 level의 공통 조상을 찾는 문제입니다.
(Lowest Common Ancestor)
BST의 특성을 잘 이해하여 한 노드의 값보다 크면 오른쪽 자식, 작으면 왼쪽 자식에 존재한다는 개념을 이용합니다.
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {
if (root->val > p->val && root->val > q->val) return lowestCommonAncestor(root->left, p, q);
else if (root->val < p->val && root->val < q->val) return lowestCommonAncestor(root->right, p, q);
else return root;
}
};
'Algorithm' 카테고리의 다른 글
[ leetcode ] 1288. Remove Covered Intervals (0) | 2023.05.02 |
---|---|
[ leetcode ] 56. Merge Intervals (0) | 2023.05.02 |
[ leetcode ] 1046. Last Stone Weight (0) | 2023.05.02 |
[ leetcode ] 236. Lowest Common Ancestor of a Binary Tree (0) | 2023.05.02 |
[ 자료구조 ] Heap (0) | 2020.06.14 |
Comments