Leetcode/Top Interview 150
[Binary Seach Tree][Easy] 530. Minimum Absolute Difference in BST
자전거통학
2024. 6. 15. 22:33
Q. 주어진 BST 에서 두 노드간 차이의 절대값의 최소값을 찾아라.
Solution.
BST 자체가 우선 정렬된 값이라는 것을 생각할 필요가 있다.
그렇다면 이 정렬된 값을 어떻게 얻느냐.
In Order Traverse를 하면 정렬된 값을 순서대로 얻을 수가 있다.
코드를 만든다.
더보기
void InOrder(TreeNode* node, vector<int>& vBuff)
{
if(node == nullptr)
return;
InOrder(node->left, vBuff);
vBuff.push_back(node->val);
InOrder(node->right, vBuff);
}
int getMinimumDifference(TreeNode* root) {
vector<int> vBuff;
InOrder(root, vBuff);
int minRet = INT_MAX;
for(int k = 1; k < vBuff.size(); ++k)
{
int diff = vBuff[k] - vBuff[k-1];
minRet = min(minRet, diff);
}
return minRet;
}
결과.