문제 👉 <Minimum Absolute Difference in BST - LeetCode>
1. 문제 (BST의 최소 절대 차이)
이진 검색 트리 (BST)의 루트가 주어지면 트리에 있는 두 개의 서로 다른 노드 값 간의 최소 절대 차이를 반환합니다.
Input: root = [4,2,6,1,3]
Output: 1
Input: root = [1,0,48,null,null,12,49]
Output: 1
2. 풀이
이진검색트리 - inorder
를 이용한 풀이- 이진 검색 트리의 inorder ->
오름차순
정렬이 됨!
- 이진 검색 트리의 inorder ->
- 트리 순회
- preorder : self -> left -> right
- inorder : left -> self -> right
- postorder : left -> right -> self
3. 코드
class Solution {
int minValue, preValue;
boolean init;
void inorder(TreeNode root) {
if (root == null) return;
// left
inorder(root.left);
// self
if (!init) {
init = true;
} else {
minValue = Math.min(minValue, root.val - preValue);
}
preValue = root.val;
// right
inorder(root.right);
}
public int getMinimumDifference(TreeNode root) {
init = false;
minValue = Integer.MAX_VALUE;
inorder(root);
return minValue;
}
}
- 결과 :
Time Submitted | Status | Runtime | Memory | Language |
---|---|---|---|---|
05/03/2021 | Accepted | 0 ms | 39.1 MB | java |
References
🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋
'Coding Test > LeetCode' 카테고리의 다른 글
[LeetCode] 589. N-ary Tree Preorder Traversal [JAVA(자바)] (0) | 2021.11.24 |
---|---|
[LeetCode] 461. Hamming Distance [JAVA(자바)] (0) | 2021.11.24 |
[LeetCode] 107. Binary Tree Level Order Traversal II [JAVA(자바)] (0) | 2021.11.24 |
댓글