[LeetCode] Minimum Absolute Difference in BST
Posted immjc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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的主要内容,如果未能解决你的问题,请参考以下文章
leetcode@ [310] Minimum Height Trees
LeetCode 2187. Minimum Time to Complete Trips