< 문제 간단설명 >
BST(Binary Search Tree)를 이루는 모든 노드들 중에서 2개의 노드를 뽑아 뺐을 때, 가장 작은 절댓값의 차이를 반환하는 문제이다.
/**
* Definition for a binary tree node.
* function TreeNode(val, left, right) {
* this.val = (val===undefined ? 0 : val)
* this.left = (left===undefined ? null : left)
* this.right = (right===undefined ? null : right)
* }
*/
/**
* @param {TreeNode} root
* @return {number}
*/
var getMinimumDifference = function (root) {
let nodeList = [];
// 전위 순회
const traverse = (node) => {
if (!node) {
return null;
}
traverse(node.left);
nodeList.push(node.val);
traverse(node.right);
};
traverse(root);
let min = Infinity;
for (let i = 1; i < nodeList.length; i += 1) {
let diff = nodeList[i] - nodeList[i - 1];
min = Math.min(min, diff);
}
return min;
};
'PS > LeetCode' 카테고리의 다른 글
LeetCode / Array / 1732번 / Find the Highest Altitude / JS (0) | 2023.06.21 |
---|---|
LeetCode / Tree / 1161번 / Maximum Level Sum of a Binary Tree / JS (0) | 2023.06.17 |
LeetCode / Matrix / 2352번 / Equal Row and Column Pairs / JS (0) | 2023.06.17 |
LeetCode / Array / 228번 / Summary Ranges / JS (0) | 2023.06.17 |