首页 > 代码库 > [LeetCode] Minimum Absolute Difference in BST
[LeetCode] Minimum Absolute Difference in BST
Given a binary search tree with non-negative values, find the minimum absolute difference between values of any two nodes.
Example:
Input: 1 3 / 2 Output: 1 Explanation: The minimum absolute difference is 1, which is the difference between 2 and 1 (or between 2 and 3).
Note: There are at least two nodes in this BST.
找出一个二叉树中任意两个节点的最小绝对值。利用二叉树中序遍历的性质,将二叉树按从小到大的顺序存储在一个数组中,然后遍历数组找出最小的绝对值。
class Solution { public: vector<int> res; int getMinimumDifference(TreeNode* root) { inOrder(root); int minDiff = INT_MAX; for (int i = 1; i != res.size(); i++) { int tmp = res[i] - res[i - 1]; minDiff = min(minDiff, tmp); } return minDiff; } void inOrder(TreeNode* root) { if (root == nullptr) return; inOrder(root->left); res.push_back(root->val); inOrder(root->right); } }; // 19 ms
[LeetCode] Minimum Absolute Difference in BST
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。