标签:class nbsp nat amp 遍历数组 des lock sea root
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
标签:class nbsp nat amp 遍历数组 des lock sea root
原文地址:http://www.cnblogs.com/immjc/p/7183337.html